JavaScript事件のいくつかの互換性のある書き方
1597 ワード
バインディングイベント addEventListener:W 3 C標準書き方IEは互換性がない atachEvent:互換IEの違い:1、イベント名は違っています.IEに「on」を追加するには、W 3 Cは2を追加しないでください.ロードイベントの実行順序は違っています.W 3 Cはバインディングイベントの順序で実行されます.一方、IE 6、7は、バインディング時間の最初に3、thisの指向、W 3 Cは、バインディング関数のthis DOMオブジェクトを指します.
イベントを削除
Prottype.jsフレームに相当するEvent.element(e)
イベントを削除
var addEvent = function( obj, type, fn ) {
if (obj.addEventListener)
obj.addEventListener( type, fn, false );
else if (obj.attachEvent) {
obj["e"+type+fn] = fn;
obj.attachEvent( "on"+type, function() {
obj["e"+type+fn]();
} );
}
};
イベントとスクリプトを読み込み var removeEvent = function(obj, type, fn) {
if (obj.removeEventListener)
obj.removeEventListener( type, fn, false );
else if (obj.detachEvent) {
obj.detachEvent( "on"+type, obj["e"+type+fn] );
obj["e"+type+fn] = null;
}
}
事件を阻止する var loadEvent = function(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
}else {
window.onload = function() {
oldonload();
func();
}
}
}
イベントソースの取得Prottype.jsフレームに相当するEvent.element(e)
var cancelEvent = function(event) {
event = event||window.event
if (event.preventDefault) {
event.preventDefault( );
event.stopPropagation( );
} else {
event.returnValue = false;
event.cancelBubble = true;
}
}