if( window.addEventListener ){\r
X.Dom.Event = function( e, xnode ){\r
//this._event = e;\r
- this.type = e.type;\r
+ this.type = X.Dom.Event.RenameTo[ e.type ] || e.type;\r
\r
//http://www.quirksmode.org/js/events_properties.html\r
this.target = Node._getXNode( e.target.nodeType === 3 ? e.target.parentNode : e.target );// defeat Safari bug // xnode\r
this.which = e.which || ( e.button + 1 ); // 左:1, 中:2, 右:3\r
\r
// https://developer.mozilla.org/ja/docs/DOM/DOM_event_reference/mousewheel\r
+ \r
+ // TODO\r
+ // https://w3g.jp/blog/tools/wheelevent_crossbrowser\r
+ // ホイール系イベント2014年版クロスブラウザ\r
if( e.wheelDeltaY !== undefined ){\r
this.wheelDeltaX = e.wheelDeltaX / 12;\r
this.wheelDeltaY = e.wheelDeltaY / 12;\r
X.Dom.Event.VIEW_DEACTIVATE = ++X.Event._LAST_EVENT;\r
X.Dom.Event.VIEW_RESIZED = ++X.Event._LAST_EVENT;\r
X.Dom.Event.BASE_FONT_RESIZED = ++X.Event._LAST_EVENT;\r
+// same_page_jump\r
// on_screen_keyboard_show\r
// on_screen_keyboard_hide\r
X.Dom.Event.BEFORE_UPDATE = ++X.Event._LAST_EVENT;\r
X.Dom.Event.ANIME_STOP = ++X.Event._LAST_EVENT;\r
X.Dom.Event._LAST_EVENT = X.Event._LAST_EVENT; // ここに書いてあるイベントの最後の値 X.Dom.Event.ANIME_STOP と同じ値\r
\r
+X.Dom.Event.Rename = {};\r
+X.Dom.Event.RenameTo = {};\r
+// https://github.com/georgeadamson/jQuery.prefixfree-events/blob/master/jQuery.prefixfree-events.js\r
+\r
+if( window.onwebkitanimationend !== undefined && window.onanimationend === undefined ){\r
+ X.Dom.Event.Rename[ 'animationend' ] = 'webkitAnimationEnd';\r
+ X.Dom.Event.RenameTo[ 'webkitAnimationEnd' ] = 'animationend';\r
+ X.Dom.Event.Rename[ 'animationstart' ] = 'webkitAnimationStart';\r
+ X.Dom.Event.RenameTo[ 'webkitAnimationStart' ] = 'animationstart';\r
+ X.Dom.Event.Rename[ 'animationiteration' ] = 'webkitAnimationIteration';\r
+ X.Dom.Event.RenameTo[ 'webkitAnimationIteration' ] = 'animationiteration';\r
+};\r
+\r
+if( window.onwebkittransitionend !== undefined && window.ontransitionend === undefined ){\r
+ X.Dom.Event.Rename[ 'transitionend' ] = 'webkitTransitionEnd';\r
+ X.Dom.Event.RenameTo[ 'webkitTransitionEnd' ] = 'transitionend';\r
+};\r
\r
X.Dom.Node.prototype.listen = function( type, arg1, arg2, arg3 /* [ listener || ( context + function ) || function ][ arguments ] */ ){\r
var elm;\r
};\r
\r
X.Dom.Node.prototype._addEvent =\r
- document.removeEventListener ?\r
+ X.Dom.EVENT_W3C ?\r
(function( type ){\r
- this._rawNode && this._rawNode.addEventListener( type, this, false );\r
+ this._rawNode && this._rawNode.addEventListener( X.Dom.Event.Rename[ type ] || type, this, false );\r
}) :\r
- document.detachEvent ?\r
+ X.Dom.EVENT_IE ?\r
(function( type ){\r
if( !this._rawNode ) return;\r
this._handleEvent = this._handleEvent || X.Callback.create( this );\r
};\r
\r
X.Dom.Node.prototype._removeEvent =\r
- document.removeEventListener ?\r
+ X.Dom.EVENT_W3C ?\r
(function( type ){\r
var elm = this._rawNode;\r
if( !elm ) return;\r
- elm.removeEventListener( type, this, false );\r
+ elm.removeEventListener( X.Dom.Event.Rename[ type ] || type, this, false );\r
}) :\r
- document.detachEvent ?\r
+ X.Dom.EVENT_IE ?\r
(function( type ){\r
var elm = this._rawNode;\r
if( !elm ) return;\r
\r
\r
X.Dom.Node.prototype.handleEvent =\r
- document.removeEventListener ?\r
+ X.Dom.EVENT_W3C ?\r
(function( e ){\r
var ret = X.EventDispatcher.prototype.dispatch.call( this, new X.Dom.Event( e, this ) );\r
\r
* Dean Edwards/Matthias Miller/John Resig\r
*/\r
/* for ie9+/Mozilla/Opera9 */\r
-if( document.addEventListener ){\r
+if( X.Dom.DOM_W3C ){\r
X.Dom.Node._document.listenOnce( 'DOMContentLoaded', X.Dom._init );\r
} else\r
if( 5 <= X.UA.IE && X.inHead ){\r