中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

javascript 動態(tài)添加事件代碼

方法一、setAttribute
var obj = document.getElementById("obj");
obj.setAttribute("onclick", "Javascript:alert('測試');");
這里利用 setAttribute 指定 onclick 屬性,簡單,很好理解,
但是:IE 不支持,IE 并不是不支持 setAttribute 這個函數(shù),而是不支持用 setAttribute 設(shè)置某些屬性,包括對象屬性、集合屬性、事件屬性,也就是說用 setAttribute 設(shè)置 style、onclick、onmouseover 這些屬性在 IE 中是行不通的。
方法二、用 attachEvent 和 addEventListener
IE 支持 attachEvent
obj.attachEvent("onclick", Foo);
function Foo()
{
alert("測試");
}
也可寫在一起
obj.attachEvent("onclick", function(){alert("測試");});
其它瀏覽器支持 addEventListener
obj.addEventListener("click", Foo, false);
function Foo()
{
alert("測試");
}
同樣也可寫在一起
obj.addEventListener("click", function(){alert("測試");}, false);
注意 attachEvent 的事件帶 on,如 onclick,而 addEventListener 不帶 on,如 click。
順便說一下 addEventListener 的第三個參數(shù)(雖然很少用) useCapture - 如果為 true,則 useCapture 指示用戶希望啟動捕獲。啟動捕獲后,所有指定類型的事件將在被指派到樹中其下面的任何 EventTargets 之前指派給已注冊的 EventListener。正在通過樹向上 bubbling 的事件將不觸發(fā)指定的使用捕獲的 EventListener。
綜合應(yīng)用
if (window.attachEvent)
{
//IE 的事件代碼
}
else
{
//其它瀏覽器的事件代碼
}
方法三、事件 = 函數(shù)
例:obj.onclick = Foo;
這在多個瀏覽器中均支持,這是屬于舊的規(guī)范(方法二屬于 DOM2 的規(guī)范),不過由于使用方便,用的場合也比較多。

下面是我的解決辦法:
function show(){
alert("Hello, world!!!");
}
obj.setAttribute('onclick',document.all ? eval(function(){show()}) : 'Javascript:show()');
看起來很簡單,也兼容瀏覽器,就是不知道還有沒有其他方面的影響,或者有更好的方法可以取代呢?

JavaScript技術(shù)javascript 動態(tài)添加事件代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 中文字幕的av | 亚洲狠狠爱| 成人免费黄视频 | 成人高潮片免费视频欧美 | 亚洲网站在线播放 | 91在线视频播放 | 天天操天天干天天曰 | 欧美日韩亚洲国产 | 久久成人一区 | 日韩欧美手机在线 | 欧美一区中文字幕 | 色婷婷综合久久久中文字幕 | 蜜桃综合在线 | www.日本精品 | 免费成人在线网站 | 天天操 夜夜操 | 九九九视频 | 国产精品观看 | 91精品久久久久久久久中文字幕 | 日本在线中文 | 97色免费视频 | 一区二区三区国产 | 在线久草| 国产欧美日韩一区 | www.788.com色淫免费 | 国产精品一区久久久 | 国产在线观 | 亚洲黄色视屏 | 久久中文一区二区 | 日本久久www成人免 成人久久久久 | 日日夜夜精品视频 | 中文字幕在线免费视频 | 国产色婷婷精品综合在线手机播放 | 久久国产一区二区三区 | 国产精品免费一区二区三区 | 国产一区二区麻豆 | 欧美日韩免费一区二区三区 | 国产精品视频网站 | 日韩一区二区免费视频 | 免费亚洲视频 | 国产小视频在线观看 |