日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

javascript处理事件的一些兼容写法

發布時間:2025/3/20 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript处理事件的一些兼容写法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

綁定事件

addEventListener:W3C標準寫法IE不兼容

attachEvent:兼容IE

注意:1:事件名不同:IE下要加“on“,W3C不加

??????? 2:加載事件的執行順序不同,W3C按綁定事件的順序來執行,而IE6,7是后綁定的時間先發生

??????? 3:this的指向,W3C中,綁定函數中的this指向DOM對象,而IE6,7指向WINDOWS對象

?

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 addEvent = (function () { if (document.addEventListener) { return function (el, type, fn) { el.addEventListener(type, fn, false); }; } else { return function (el, type, fn) { el.attachEvent('on' + type, function () { return fn.call(el, window.event); }); } } })();

?

移除事件

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();}} }

?

阻止事件

var cancelEvent = function(event) {event = event||window.eventif (event.preventDefault) {event.preventDefault( );event.stopPropagation( );} else {event.returnValue = false;event.cancelBubble = true;} }

?

??

取得事件源對象

相當于Prototype.js框架的Event.element(e)

var getTarget = function(event){event = event || window.event;var obj = event.srcElement ? event.srcElement : event.target;return obj }

轉載于:https://www.cnblogs.com/mingjixiaohui/p/5246353.html

總結

以上是生活随笔為你收集整理的javascript处理事件的一些兼容写法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。