Comparing version 0.0.3 to 0.0.4
32
bean.js
@@ -202,24 +202,30 @@ /*! | ||
function fixEvent(e) { | ||
var result = {}; | ||
if (!e) { | ||
return {}; | ||
return result; | ||
} | ||
var type = e.type, target = e.target || e.srcElement; | ||
e.preventDefault = e.preventDefault || fixEvent.preventDefault; | ||
e.stopPropagation = e.stopPropagation || fixEvent.stopPropagation; | ||
e.target = target && target.nodeType == 3 ? target.parentNode : target; | ||
result.preventDefault = e.preventDefault || fixEvent.preventDefault; | ||
result.stopPropagation = e.stopPropagation || fixEvent.stopPropagation; | ||
result.target = target && target.nodeType == 3 ? target.parentNode : target; | ||
if (type.indexOf('key') != -1) { | ||
e.keyCode = e.which || e.keyCode; | ||
result.keyCode = e.which || e.keyCode; | ||
} else if ((/click|mouse|menu/i).test(type)) { | ||
e.rightClick = e.which == 3 || e.button == 2; | ||
e.pos = { x: 0, y: 0 }; | ||
result.rightClick = e.which == 3 || e.button == 2; | ||
result.pos = { x: 0, y: 0 }; | ||
if (e.pageX || e.pageY) { | ||
e.pos.x = e.pageX; | ||
e.pos.y = e.pageY; | ||
result.pos.x = e.pageX; | ||
result.pos.y = e.pageY; | ||
} else if (e.clientX || e.clientY) { | ||
e.pos.x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; | ||
e.pos.y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; | ||
result.pos.x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; | ||
result.pos.y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; | ||
} | ||
overOut.test(type) && (e.relatedTarget = e.relatedTarget || e[(type == 'mouseover' ? 'from' : 'to') + 'Element']); | ||
overOut.test(type) && (result.relatedTarget = e.relatedTarget || e[(type == 'mouseover' ? 'from' : 'to') + 'Element']); | ||
} | ||
return e; | ||
for (var k in e) { | ||
if (!(k in result)) { | ||
result[k] = e[k]; | ||
} | ||
} | ||
return result; | ||
} | ||
@@ -226,0 +232,0 @@ fixEvent.preventDefault = function () { |
@@ -11,2 +11,2 @@ /*! | ||
*/ | ||
!function(a){function A(a){var b=a.relatedTarget;if(!b)return b==null;return b!=this&&b.prefix!="xul"&&!/document/.test(this.toString())&&!l(this,b)}function y(a){if(!a)return{};var b=a.type,c=a.target||a.srcElement;a.preventDefault=a.preventDefault||y.preventDefault,a.stopPropagation=a.stopPropagation||y.stopPropagation,a.target=c&&c.nodeType==3?c.parentNode:c;if(b.indexOf("key")!=-1)a.keyCode=a.which||a.keyCode;else if(/click|mouse|menu/i.test(b)){a.rightClick=a.which==3||a.button==2,a.pos={x:0,y:0};if(a.pageX||a.pageY)a.pos.x=a.pageX,a.pos.y=a.pageY;else if(a.clientX||a.clientY)a.pos.x=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,a.pos.y=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;e.test(b)&&(a.relatedTarget=a.relatedTarget||a[(b=="mouseover"?"from":"to")+"Element"])}return a}function x(a,b,c){var d=m(b),e,f;e=c?d[c]:d;for(f in e)e.hasOwnProperty(f)&&(c?u:x)(a,c||b,c?e[f]:f);return a}function w(b,c){var d,e,j,k=c.split(" ");for(j=k.length;j--;){c=k[j].replace(g,"");var l=z.indexOf(c)>-1,n=k[j].replace(f,""),o=m(b)[c];if(n){n=n.split(".");for(e=n.length;e--;)o[n[e]]&&o[n[e]]()}else if(b[h])d=document.createEvent(l?"HTMLEvents":"UIEvents"),d[l?"initEvent":"initUIEvent"](c,!0,!0,a,1),b.dispatchEvent(d);else if(b[i])l?b.fireEvent("on"+c,document.createEventObject()):b["_on"+c]++;else for(e in o)o.hasOwnProperty(e)&&o[e]()}return b}function v(a,b,c){var d,e,h,i=typeof b=="string",j=i&&b.replace(f,""),k=s,l=m(a);if(i&&/\s/.test(b)){b=b.split(" ");var n=b.length-1;while(v(a,b[n])&&n--);return a}h=i?b.replace(g,""):b;if(!l||i&&!l[h])return a;if(typeof c=="function")k(a,h,c);else if(j)k(a,b);else{k=h?k:v,e=i&&h,h=h?c||l[h]||h:l;for(d in h)h.hasOwnProperty(d)&&k(a,e||d,h[d])}return a}function u(a,b,c,d,e){if(typeof b=="object"&&!c)for(var f in b)b.hasOwnProperty(f)&&u(a,f,b[f]);else{var g=typeof c=="string",h=(g?c:b).split(" ");c=g?t(b,d,e):c;for(var i=h.length;i--;)r(a,h[i],c,Array.prototype.slice.call(arguments,g?4:3))}return a}function t(a,b,c){return function(d){var e=typeof a=="string"?c(a,this):a;for(var f=d.target;f&&f!=this;f=f.parentNode)for(var g=e.length;g--;)if(e[g]==f)return b.apply(f,arguments)}}function s(a,b,c){var d,e,i,j,k=m(a),l=b.replace(g,"");if(!k||!k[l])return a;e=b.replace(f,""),i=e?e.split("."):[c.__uid];for(j=i.length;j--;){d=i[j],c=k[l][d],delete k[l][d],l=B[l]?B[l].base:l;var n=a[h]||z.indexOf(l)>-1;o(a,n?l:"propertychange",c,!1,!n&&l)}return a}function r(b,c,e,i){var j=c.replace(g,""),k=m(b),l=k[j]||(k[j]={}),r=n(e,c.replace(f,""));if(l[r])return b;var t=B[j];e=t&&t.condition?q(b,e,j,t.condition):e,j=t&&t.base||j;var u=a[h]||z.indexOf(j)>-1;e=u?p(b,e,i):q(b,e,j,!1,i);if(j=="unload"){var v=e;e=function(){s(b,j,e)&&v()}}o(b,u?j:"propertychange",e,!0,!u&&!0),l[r]=e,e.__uid=r;return j=="unload"?b:d[n(b)]=b}function q(a,b,c,d,e){return function(f){(d?d.call(this,f):f&&f.propertyName=="_on"+c||!f)&&b.apply(a,[f].concat(e))}}function p(b,c,d){return function(e){e=y(e||((this.ownerDocument||this.document||this).parentWindow||a).event);return c.apply(b,[e].concat(d))}}function o(a,b,c,d,e){a[h]?a[d?h:j](b,c,!1):a[i]&&(e&&d&&(a["_on"+e]=a["_on"+e]||0),a[d?i:k]("on"+b,c))}function n(a,c){return a.__uid=c||a.__uid||b++}function m(a){var b=n(a);return c[b]=c[b]||{}}function l(a,b){var c=b.parentNode;while(c!=null){if(c==a)return!0;c=c.parentNode}}var b=1,c={},d={},e=/over|out/,f=/[^\.]*(?=\..*)\.|.*/,g=/\..*/,h="addEventListener",i="attachEvent",j="removeEventListener",k="detachEvent";y.preventDefault=function(){this.returnValue=!1},y.stopPropagation=function(){this.cancelBubble=!0};var z="click,dblclick,mouseup,mousedown,contextmenu,mousewheel,DOMMouseScroll,mouseover,mouseout,mousemove,selectstart,selectend,keydown,keypress,keyup,orientationchange,touchstart,touchmove,touchend,touchcancel,gesturestart,gesturechange,gestureend,focus,blur,change,reset,select,submit,load,unload,beforeunload,resize,move,DOMContentLoaded,readystatechange,"+"error,abort,scroll".split(","),B={mouseenter:{base:"mouseover",condition:A},mouseleave:{base:"mouseout",condition:A},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}},C={add:u,remove:v,clone:x,fire:w},D=function(a){var b=v(a).__uid;b&&(delete d[b],delete c[b])};a[i]&&u(a,"unload",function(){for(var b in d)d.hasOwnProperty(b)&&D(d[b]);a.CollectGarbage&&CollectGarbage()});var E=a.bean;C.noConflict=function(){a.bean=E;return this},typeof module!="undefined"&&module.exports?module.exports=C:a.bean=C}(this) | ||
!function(a){function A(a){var b=a.relatedTarget;if(!b)return b==null;return b!=this&&b.prefix!="xul"&&!/document/.test(this.toString())&&!l(this,b)}function y(a){var b={};if(!a)return b;var c=a.type,d=a.target||a.srcElement;b.preventDefault=a.preventDefault||y.preventDefault,b.stopPropagation=a.stopPropagation||y.stopPropagation,b.target=d&&d.nodeType==3?d.parentNode:d;if(c.indexOf("key")!=-1)b.keyCode=a.which||a.keyCode;else if(/click|mouse|menu/i.test(c)){b.rightClick=a.which==3||a.button==2,b.pos={x:0,y:0};if(a.pageX||a.pageY)b.pos.x=a.pageX,b.pos.y=a.pageY;else if(a.clientX||a.clientY)b.pos.x=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,b.pos.y=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;e.test(c)&&(b.relatedTarget=a.relatedTarget||a[(c=="mouseover"?"from":"to")+"Element"])}for(var f in a)f in b||(b[f]=a[f]);return b}function x(a,b,c){var d=m(b),e,f;e=c?d[c]:d;for(f in e)e.hasOwnProperty(f)&&(c?u:x)(a,c||b,c?e[f]:f);return a}function w(b,c){var d,e,j,k=c.split(" ");for(j=k.length;j--;){c=k[j].replace(g,"");var l=z.indexOf(c)>-1,n=k[j].replace(f,""),o=m(b)[c];if(n){n=n.split(".");for(e=n.length;e--;)o[n[e]]&&o[n[e]]()}else if(b[h])d=document.createEvent(l?"HTMLEvents":"UIEvents"),d[l?"initEvent":"initUIEvent"](c,!0,!0,a,1),b.dispatchEvent(d);else if(b[i])l?b.fireEvent("on"+c,document.createEventObject()):b["_on"+c]++;else for(e in o)o.hasOwnProperty(e)&&o[e]()}return b}function v(a,b,c){var d,e,h,i=typeof b=="string",j=i&&b.replace(f,""),k=s,l=m(a);if(i&&/\s/.test(b)){b=b.split(" ");var n=b.length-1;while(v(a,b[n])&&n--);return a}h=i?b.replace(g,""):b;if(!l||i&&!l[h])return a;if(typeof c=="function")k(a,h,c);else if(j)k(a,b);else{k=h?k:v,e=i&&h,h=h?c||l[h]||h:l;for(d in h)h.hasOwnProperty(d)&&k(a,e||d,h[d])}return a}function u(a,b,c,d,e){if(typeof b=="object"&&!c)for(var f in b)b.hasOwnProperty(f)&&u(a,f,b[f]);else{var g=typeof c=="string",h=(g?c:b).split(" ");c=g?t(b,d,e):c;for(var i=h.length;i--;)r(a,h[i],c,Array.prototype.slice.call(arguments,g?4:3))}return a}function t(a,b,c){return function(d){var e=typeof a=="string"?c(a,this):a;for(var f=d.target;f&&f!=this;f=f.parentNode)for(var g=e.length;g--;)if(e[g]==f)return b.apply(f,arguments)}}function s(a,b,c){var d,e,i,j,k=m(a),l=b.replace(g,"");if(!k||!k[l])return a;e=b.replace(f,""),i=e?e.split("."):[c.__uid];for(j=i.length;j--;){d=i[j],c=k[l][d],delete k[l][d],l=B[l]?B[l].base:l;var n=a[h]||z.indexOf(l)>-1;o(a,n?l:"propertychange",c,!1,!n&&l)}return a}function r(b,c,e,i){var j=c.replace(g,""),k=m(b),l=k[j]||(k[j]={}),r=n(e,c.replace(f,""));if(l[r])return b;var t=B[j];e=t&&t.condition?q(b,e,j,t.condition):e,j=t&&t.base||j;var u=a[h]||z.indexOf(j)>-1;e=u?p(b,e,i):q(b,e,j,!1,i);if(j=="unload"){var v=e;e=function(){s(b,j,e)&&v()}}o(b,u?j:"propertychange",e,!0,!u&&!0),l[r]=e,e.__uid=r;return j=="unload"?b:d[n(b)]=b}function q(a,b,c,d,e){return function(f){(d?d.call(this,f):f&&f.propertyName=="_on"+c||!f)&&b.apply(a,[f].concat(e))}}function p(b,c,d){return function(e){e=y(e||((this.ownerDocument||this.document||this).parentWindow||a).event);return c.apply(b,[e].concat(d))}}function o(a,b,c,d,e){a[h]?a[d?h:j](b,c,!1):a[i]&&(e&&d&&(a["_on"+e]=a["_on"+e]||0),a[d?i:k]("on"+b,c))}function n(a,c){return a.__uid=c||a.__uid||b++}function m(a){var b=n(a);return c[b]=c[b]||{}}function l(a,b){var c=b.parentNode;while(c!=null){if(c==a)return!0;c=c.parentNode}}var b=1,c={},d={},e=/over|out/,f=/[^\.]*(?=\..*)\.|.*/,g=/\..*/,h="addEventListener",i="attachEvent",j="removeEventListener",k="detachEvent";y.preventDefault=function(){this.returnValue=!1},y.stopPropagation=function(){this.cancelBubble=!0};var z="click,dblclick,mouseup,mousedown,contextmenu,mousewheel,DOMMouseScroll,mouseover,mouseout,mousemove,selectstart,selectend,keydown,keypress,keyup,orientationchange,touchstart,touchmove,touchend,touchcancel,gesturestart,gesturechange,gestureend,focus,blur,change,reset,select,submit,load,unload,beforeunload,resize,move,DOMContentLoaded,readystatechange,"+"error,abort,scroll".split(","),B={mouseenter:{base:"mouseover",condition:A},mouseleave:{base:"mouseout",condition:A},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}},C={add:u,remove:v,clone:x,fire:w},D=function(a){var b=v(a).__uid;b&&(delete d[b],delete c[b])};a[i]&&u(a,"unload",function(){for(var b in d)d.hasOwnProperty(b)&&D(d[b]);a.CollectGarbage&&CollectGarbage()});var E=a.bean;C.noConflict=function(){a.bean=E;return this},typeof module!="undefined"&&module.exports?module.exports=C:a.bean=C}(this) |
{ | ||
"name": "bean", | ||
"description": "an events api for javascript", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"homepage": "https://github.com/fat/bean", | ||
@@ -6,0 +6,0 @@ "authors": ["Jacob Thornton <@fat>"], |
@@ -192,24 +192,30 @@ !function (context) { | ||
function fixEvent(e) { | ||
var result = {}; | ||
if (!e) { | ||
return {}; | ||
return result; | ||
} | ||
var type = e.type, target = e.target || e.srcElement; | ||
e.preventDefault = e.preventDefault || fixEvent.preventDefault; | ||
e.stopPropagation = e.stopPropagation || fixEvent.stopPropagation; | ||
e.target = target && target.nodeType == 3 ? target.parentNode : target; | ||
result.preventDefault = e.preventDefault || fixEvent.preventDefault; | ||
result.stopPropagation = e.stopPropagation || fixEvent.stopPropagation; | ||
result.target = target && target.nodeType == 3 ? target.parentNode : target; | ||
if (type.indexOf('key') != -1) { | ||
e.keyCode = e.which || e.keyCode; | ||
result.keyCode = e.which || e.keyCode; | ||
} else if ((/click|mouse|menu/i).test(type)) { | ||
e.rightClick = e.which == 3 || e.button == 2; | ||
e.pos = { x: 0, y: 0 }; | ||
result.rightClick = e.which == 3 || e.button == 2; | ||
result.pos = { x: 0, y: 0 }; | ||
if (e.pageX || e.pageY) { | ||
e.pos.x = e.pageX; | ||
e.pos.y = e.pageY; | ||
result.pos.x = e.pageX; | ||
result.pos.y = e.pageY; | ||
} else if (e.clientX || e.clientY) { | ||
e.pos.x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; | ||
e.pos.y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; | ||
result.pos.x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; | ||
result.pos.y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; | ||
} | ||
overOut.test(type) && (e.relatedTarget = e.relatedTarget || e[(type == 'mouseover' ? 'from' : 'to') + 'Element']); | ||
overOut.test(type) && (result.relatedTarget = e.relatedTarget || e[(type == 'mouseover' ? 'from' : 'to') + 'Element']); | ||
} | ||
return e; | ||
for (var k in e) { | ||
if (!(k in result)) { | ||
result[k] = e[k]; | ||
} | ||
} | ||
return result; | ||
} | ||
@@ -216,0 +222,0 @@ fixEvent.preventDefault = function () { |
@@ -6,5 +6,6 @@ !function () { | ||
return function () { | ||
for (var i = 0, l = this.elements.length; i < l; i++) { | ||
var args = [this.elements[i]].concat(_args); | ||
b[method].apply(this, args.concat(Array.prototype.slice.call(arguments, 0))); | ||
for (var args, i = 0, l = this.elements.length; i < l; i++) { | ||
args = [this.elements[i]].concat(_args, Array.prototype.slice.call(arguments, 0)); | ||
args.length == 4 && args.push($); | ||
b[method].apply(this, args); | ||
} | ||
@@ -21,2 +22,4 @@ return this; | ||
listen: add, | ||
delegate: add, | ||
undelegate: remove, | ||
unbind: remove, | ||
@@ -48,21 +51,2 @@ unlisten: remove, | ||
$.ender(methods, true); | ||
$.ender({ | ||
delegate: function (selector, type, fn) { | ||
var args = [].slice.call(arguments, 0), i, _args; | ||
args.push($); | ||
for (i = 0, l = this.length; i < l; i++) { | ||
_args = [this[i]].concat(args); | ||
b.add.apply(this, _args); | ||
} | ||
return this; | ||
}, | ||
undelegate: function (selector, type, fn) { | ||
var args = [].slice.call(arguments, 0), i, _args; | ||
for (i = 0, l = this.length; i < l; i++) { | ||
_args = [this[i]].concat(args); | ||
b.remove.apply(this, _args); | ||
} | ||
return this; | ||
} | ||
}, true); | ||
}(); |
@@ -10,5 +10,5 @@ (function(){ | ||
// this is for opera, so we don't have to focus to type how we think we would | ||
if(document.activeElement | ||
&& document.activeElement != el | ||
&& el.selectionStart == el.selectionEnd | ||
if(document.activeElement | ||
&& document.activeElement != el | ||
&& el.selectionStart == el.selectionEnd | ||
&& el.selectionStart == 0){ | ||
@@ -21,4 +21,4 @@ return {start: el.value.length, end: el.value.length}; | ||
//if(document.activeElement && document.activeElement != el){ | ||
//} | ||
@@ -30,3 +30,3 @@ try { | ||
r.setEndPoint("EndToStart", real); | ||
var start = r.text.length | ||
@@ -64,3 +64,3 @@ return { | ||
} | ||
} | ||
} | ||
}, | ||
@@ -74,3 +74,3 @@ // gets all focusable elements | ||
len = els.length; | ||
for(var i=0; i< len; i++){ | ||
@@ -80,4 +80,4 @@ Syn.isFocusable(els[i]) && els[i] != document.documentElement && res.push(els[i]) | ||
return res; | ||
}; | ||
@@ -95,8 +95,8 @@ | ||
* Syn('key','delete','title'); | ||
* | ||
* //or | ||
* | ||
* | ||
* //or | ||
* | ||
* Syn('type','One Two Three[left][left][delete]','title') | ||
* @codeend | ||
* | ||
* | ||
* The following are a list of keys you can type: | ||
@@ -133,12 +133,12 @@ * @codestart text | ||
'\b':'8', | ||
//tab | ||
'\t':'9', | ||
//enter | ||
'\r':'13', | ||
//special | ||
'shift':'16','ctrl':'17','alt':'18', | ||
//weird | ||
@@ -151,7 +151,7 @@ 'pause-break':'19', | ||
'print' : '44', | ||
//navigation | ||
'page-up':'33','page-down':'34','end':'35','home':'36', | ||
'left':'37','up':'38','right':'39','down':'40','insert':'45','delete':'46', | ||
//normal characters | ||
@@ -178,14 +178,14 @@ ' ':'32', | ||
"'":'222', | ||
//ignore these, you shouldn't use them | ||
'left window key':'91','right window key':'92','select key':'93', | ||
'f1':'112','f2':'113','f3':'114','f4':'115','f5':'116','f6':'117', | ||
'f7':'118','f8':'119','f9':'120','f10':'121','f11':'122','f12':'123' | ||
}, | ||
// what we can type in | ||
typeable : /input|textarea/i, | ||
// selects text on an element | ||
@@ -207,5 +207,5 @@ selectText: function( el, start, end ) { | ||
r.moveEnd('character', end - el.value.length); | ||
r.select(); | ||
} | ||
} | ||
}, | ||
@@ -247,3 +247,3 @@ getText: function( el ) { | ||
}, | ||
//returns the special key if special | ||
@@ -266,3 +266,3 @@ isSpecial: function( keyCode ) { | ||
var keyData = Syn.key.data(key); | ||
if(!keyData[event]){ | ||
@@ -272,7 +272,7 @@ //we shouldn't be creating this event | ||
} | ||
var charCode = keyData[event][0], | ||
keyCode = keyData[event][1], | ||
result = {}; | ||
if(keyCode == 'key'){ | ||
@@ -285,3 +285,3 @@ result.keyCode = Syn.keycodes[key] | ||
} | ||
if(charCode == 'char'){ | ||
@@ -292,4 +292,4 @@ result.charCode = key.charCodeAt(0) | ||
} | ||
return result | ||
@@ -323,3 +323,3 @@ }, | ||
} | ||
if(force || (!S.support.keyCharacters && Syn.typeable.test(this.nodeName))){ | ||
@@ -330,4 +330,4 @@ var current = this.value, | ||
character = key; | ||
console.log("setting",this.value,before, character, after) | ||
this.value = before+character+after; | ||
@@ -337,3 +337,3 @@ //handle IE inserting \r\n | ||
Syn.selectText(this, before.length + charLength) | ||
} | ||
} | ||
}, | ||
@@ -402,3 +402,3 @@ 'c' : function( options, scope, key, force, sel ) { | ||
after = current.substr(sel.end); | ||
if(sel.start == sel.end && sel.start > 0){ | ||
@@ -412,5 +412,5 @@ //remove a character | ||
} | ||
//set back the selection | ||
} | ||
} | ||
}, | ||
@@ -426,9 +426,9 @@ 'delete' : function( options, scope, key, force, sel ) { | ||
this.value = before+after; | ||
} | ||
Syn.selectText(this, sel.start) | ||
} | ||
} | ||
}, | ||
'\r' : function( options, scope, key, force, sel ) { | ||
var nodeName = this.nodeName.toLowerCase() | ||
@@ -441,3 +441,3 @@ // submit a form | ||
} | ||
} | ||
@@ -453,10 +453,10 @@ //newline in textarea | ||
}, | ||
// | ||
// | ||
// Gets all focusable elements. If the element (this) | ||
// doesn't have a tabindex, finds the next element after. | ||
// If the element (this) has a tabindex finds the element | ||
// If the element (this) has a tabindex finds the element | ||
// with the next higher tabindex OR the element with the same | ||
// tabindex after it in the document. | ||
// @return the next element | ||
// | ||
// | ||
'\t' : function( options, scope ) { | ||
@@ -474,3 +474,3 @@ // focusable elements | ||
i = 0, | ||
el, | ||
el, | ||
//the tabindex of the tabable element we are looking at | ||
@@ -517,6 +517,6 @@ elIndex, | ||
} | ||
} | ||
} | ||
//restart if we didn't find anything | ||
@@ -545,7 +545,7 @@ if(!current){ | ||
} | ||
} | ||
} | ||
}, | ||
'up' : function() { | ||
if(/select/i.test(this.nodeName)){ | ||
this.selectedIndex = this.selectedIndex ? this.selectedIndex-1 : 0; | ||
@@ -601,3 +601,3 @@ //set this to change on blur? | ||
} : options; | ||
//don't change the orignial | ||
@@ -609,3 +609,3 @@ options = h.extend({}, options) | ||
} | ||
options = h.extend({ | ||
@@ -617,3 +617,3 @@ ctrlKey: !!Syn.key.ctrlKey, | ||
}, options) | ||
return options; | ||
@@ -626,8 +626,8 @@ }, | ||
var event; | ||
try { | ||
event = element.ownerDocument.createEvent("KeyEvents"); | ||
event.initKeyEvent(type, true, true, window, options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.keyCode, options.charCode); | ||
} | ||
} | ||
catch (e) { | ||
@@ -642,3 +642,3 @@ event = h.createBasicStandardEvent(type, options, doc); | ||
h.extend(event, options) | ||
return event; | ||
@@ -665,5 +665,5 @@ } | ||
* Types a single key. The key should be | ||
* a string that matches a | ||
* a string that matches a | ||
* [Syn.static.keycodes]. | ||
* | ||
* | ||
* The following sends a carridge return | ||
@@ -683,3 +683,3 @@ * to the 'name' element. | ||
//first check if it is a special up | ||
if(/-up$/.test(options) | ||
if(/-up$/.test(options) | ||
&& h.inArray(options.replace("-up",""),Syn.key.kinds.special )!= -1){ | ||
@@ -690,4 +690,4 @@ Syn.trigger('keyup',options.replace("-up",""), element ) | ||
} | ||
var caret = Syn.typeable.test(element.nodeName) && getSelection(element), | ||
@@ -697,16 +697,16 @@ key = convert[options] || options, | ||
runDefaults = Syn.trigger('keydown',key, element ), | ||
// a function that gets the default behavior for a key | ||
getDefault = Syn.key.getDefault, | ||
// how this browser handles preventing default events | ||
prevent = Syn.key.browser.prevent, | ||
// the result of the default event | ||
defaultResult, | ||
// options for keypress | ||
keypressOptions = Syn.key.options(key, 'keypress') | ||
if(runDefaults){ | ||
@@ -732,3 +732,3 @@ //if the browser doesn't create keypresses for this key, run default | ||
} | ||
if(defaultResult !== null){ | ||
@@ -742,10 +742,10 @@ setTimeout(function(){ | ||
} | ||
//do mouseup | ||
return element; | ||
// is there a keypress? .. if not , run default | ||
// yes -> did we prevent it?, if not run ... | ||
}, | ||
@@ -758,3 +758,3 @@ /** | ||
* enclosed in square brackents. | ||
* | ||
* | ||
* The following types 'JavaScript MVC' then deletes the space. | ||
@@ -764,5 +764,5 @@ * @codestart | ||
* @codeend | ||
* | ||
* Type is able to handle (and move with) tabs (\t). | ||
* The following simulates tabing and entering values in a form and | ||
* | ||
* Type is able to handle (and move with) tabs (\t). | ||
* The following simulates tabing and entering values in a form and | ||
* eventually submitting the form. | ||
@@ -793,5 +793,5 @@ * @codestart | ||
} | ||
runNextPart(); | ||
} | ||
@@ -808,7 +808,7 @@ }); | ||
var div = document.createElement("div"), | ||
checkbox, | ||
submit, | ||
form, | ||
input, | ||
var div = document.createElement("div"), | ||
checkbox, | ||
submit, | ||
form, | ||
input, | ||
submitted = false, | ||
@@ -818,3 +818,3 @@ anchor, | ||
inputter; | ||
div.innerHTML = "<form id='outer'>"+ | ||
@@ -830,3 +830,3 @@ "<input name='checkbox' type='checkbox'/>"+ | ||
"</form>"; | ||
document.documentElement.appendChild(div); | ||
@@ -839,5 +839,5 @@ form = div.firstChild; | ||
inputter = form.childNodes[3]; | ||
form.onsubmit = function(ev){ | ||
if (ev.preventDefault) | ||
if (ev.preventDefault) | ||
ev.preventDefault(); | ||
@@ -851,14 +851,14 @@ S.support.keypressSubmits = true; | ||
Syn.trigger("keypress", "\r", inputter); | ||
Syn.trigger("keypress", "a", inputter); | ||
S.support.keyCharacters = inputter.value == "a"; | ||
inputter.value = "a"; | ||
Syn.trigger("keypress", "\b", inputter); | ||
S.support.backspaceWorks = inputter.value == ""; | ||
inputter.onchange = function(){ | ||
@@ -870,9 +870,9 @@ S.support.focusChanges = true; | ||
form.childNodes[5].focus(); // this will throw a change event | ||
Syn.trigger("keypress", "b", inputter); | ||
S.support.keysOnNotFocused = inputter.value == "ab"; | ||
S.support.keysOnNotFocused = inputter.value == "ab"; | ||
//test keypress \r on anchor submits | ||
S.bind(anchor,"click",function(ev){ | ||
if (ev.preventDefault) | ||
if (ev.preventDefault) | ||
ev.preventDefault(); | ||
@@ -884,8 +884,8 @@ S.support.keypressOnAnchorClicks = true; | ||
Syn.trigger("keypress", "\r", anchor); | ||
S.support.textareaCarriage = textarea.value.length == 4 | ||
document.documentElement.removeChild(div); | ||
S.support.ready++; | ||
})(); | ||
}()) |
629771
105
17561