UNPKG

846 BJavaScriptView Raw
1/*syn@0.14.0#typeable*/
2var syn = require('./synthetic.js');
3var typeables = [];
4var __indexOf = [].indexOf || function (item) {
5 for (var i = 0, l = this.length; i < l; i++) {
6 if (i in this && this[i] === item) {
7 return i;
8 }
9 }
10 return -1;
11};
12syn.typeable = function (fn) {
13 if (__indexOf.call(typeables, fn) === -1) {
14 typeables.push(fn);
15 }
16};
17syn.typeable.test = function (el) {
18 for (var i = 0, len = typeables.length; i < len; i++) {
19 if (typeables[i](el)) {
20 return true;
21 }
22 }
23 return false;
24};
25var type = syn.typeable;
26var typeableExp = /input|textarea/i;
27type(function (el) {
28 return typeableExp.test(el.nodeName);
29});
30type(function (el) {
31 return __indexOf.call([
32 '',
33 'true'
34 ], el.getAttribute('contenteditable')) !== -1;
35});
\No newline at end of file