最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript之IE的fireEvent方法詳細(xì)解析

 更新時間:2013年11月20日 09:34:44   作者:  
剛開始我以為是會跟平時使用onclick()一樣,沒想到最近在寫javascript入門ppt的時候發(fā)現(xiàn)了,原來自己太自以為是了!看來還有很多javascript的細(xì)節(jié)沒有掌握好啊

在IE中提供了一個fireEvent方法,顧名思義就是觸發(fā)某個事件發(fā)生的意思。剛開始我以為是會跟平時使用onclick()一樣,沒想到最近在寫javascript入門ppt的時候發(fā)現(xiàn)了,原來自己太自以為是了!看來還有很多javascript的細(xì)節(jié)沒有掌握好??!

現(xiàn)在根據(jù)自己的總結(jié)詳細(xì)的記錄下fireEvent方法的使用。fireEvent是IE提供的一種方法,msdn文檔地址:http://msdn.microsoft.com/en-us/library/ms536423(v=vs.85).aspx

onclick()
我們先看第一段實(shí)例代碼:

<ul onclick='alert(event.srcElement.innerHTML);'>
<li id='id1'>i am one;</li>
<li id='id2'>i am two;</li>
<li id='id3'>i am three;</li>
</ul>
<button onclick='document.getElementById("id1").onclick();'>click me!</button>

這段代碼中我們沒有個id1的li添加onclick事件,點(diǎn)擊button,會報(bào)錯,提示“對象不支持此屬性或方法”。由此可見,DOM.onclick()需要添加onclick事件之后才能使用。

假如我們把以上的代碼修改為:

<ul onclick='alert(event.srcElement.innerHTML);'>
<li id='id1' onclick='alert(1);'>i am one;</li>
<li id='id2'>i am two;</li>
<li id='id3'>i am three;</li>
</ul>
<button onclick='document.getElementById("id1").onclick();'>click me!</button>

此時,點(diǎn)擊button會觸發(fā)onclick事件,但是ul的onclick沒有觸發(fā),這就表明了DOM.onclick()不存在冒泡。

fireEvent()
我們來看看fireEvent跟onclick()觸發(fā)事件是否相同??聪旅娴拇a:

<ul onclick='alert(event.srcElement.innerHTML);'>
<li id='id1'>i am one;</li>
<li id='id2'>i am two;</li>
<li id='id3'>i am three;</li>
</ul>
<button onclick='document.getElementById("id1").fireEvent("onclick")'>fireEvent !</button>

點(diǎn)擊button后,觸發(fā)ul的onclick事件,說明fireEvent會引起冒泡,而且沒有發(fā)生像onclick()提示“對象不支持此屬性或方法”,說明即使不添加id1的onclick事件也可以冒泡。
由此可以看出,IE中的fireEvent方法類似模擬用戶的鼠標(biāo)點(diǎn)擊行為,而不是單純的onclick。

總結(jié)fireEvent和onclick區(qū)別
通過上面的例子可以看出,DOM的fireEvent和onclick(這只是個代表)有以下區(qū)別:

onclick需要DOM真正添加了onclick事件,否則會報(bào)“對象不支持此屬性或方法”錯誤
onclick不會引起IE的冒泡過程,而fireEvent會引起冒泡,fireEvent更貼近用戶真實(shí)的行為觸發(fā)
由第二條得出,fireEvent在即使DOM沒有click事件也可以fireEvent,而不會報(bào)錯(更貼近用戶真實(shí)行為)
最后可以拿下面的代碼測試:

<ul onclick='alert(event.srcElement.innerHTML);'>
<li id='id1' onclick='alert(1);'>i am one;</li>
<li id='id2'>i am two;</li>
<li id='id3'>i am three;</li>
</ul>
<button onclick='document.getElementById("id1").onclick();'>click me!</button>
<button onclick='document.getElementById("id1").fireEvent("onclick")'>fireEvent !</button>

您可能感興趣的文章:

相關(guān)文章

  • JavaScript多態(tài)與封裝實(shí)例分析

    JavaScript多態(tài)與封裝實(shí)例分析

    這篇文章主要介紹了JavaScript多態(tài)與封裝,結(jié)合實(shí)例形式分析了JavaScript多態(tài)與封裝的概念、功能、優(yōu)缺點(diǎn)以及相關(guān)問題與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • JavaScript 空間坐標(biāo)的使用

    JavaScript 空間坐標(biāo)的使用

    這篇文章主要介紹了JavaScript 空間坐標(biāo)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • js判斷PC端與移動端跳轉(zhuǎn)

    js判斷PC端與移動端跳轉(zhuǎn)

    本文主要介紹了js判斷PC端與移動端跳轉(zhuǎn)的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • javascript實(shí)現(xiàn)打磚塊小游戲(附完整源碼)

    javascript實(shí)現(xiàn)打磚塊小游戲(附完整源碼)

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)打磚塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • JS實(shí)現(xiàn)的base64加密、md5加密及sha1加密詳解

    JS實(shí)現(xiàn)的base64加密、md5加密及sha1加密詳解

    這篇文章主要介紹了JS實(shí)現(xiàn)的base64加密、md5加密及sha1加密的方法,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript各種常見加密方法與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-04-04
  • 記一次webapck4 配置文件無效的解決歷程

    記一次webapck4 配置文件無效的解決歷程

    這篇文章主要介紹了記一次webapck4 配置文件無效的解決歷程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • js實(shí)現(xiàn)對table動態(tài)添加、刪除和更新的方法

    js實(shí)現(xiàn)對table動態(tài)添加、刪除和更新的方法

    這篇文章主要介紹了js實(shí)現(xiàn)對table動態(tài)添加、刪除和更新的方法,涉及javascript針對html中table表格節(jié)點(diǎn)的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • JavaScript Reflect Metadata實(shí)現(xiàn)詳解

    JavaScript Reflect Metadata實(shí)現(xiàn)詳解

    這篇文章主要介紹了JavaScript Reflect Metadata實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • javascript實(shí)現(xiàn)數(shù)字配對游戲的實(shí)例講解

    javascript實(shí)現(xiàn)數(shù)字配對游戲的實(shí)例講解

    下面小編就為大家分享一篇javascript實(shí)現(xiàn)數(shù)字配對游戲的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • JS實(shí)現(xiàn)的A*尋路算法詳解

    JS實(shí)現(xiàn)的A*尋路算法詳解

    這篇文章主要介紹了JS實(shí)現(xiàn)的A*尋路算法,結(jié)合實(shí)例形式詳細(xì)分析了A*尋路算法的概念、原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-12-12

最新評論

甘南县| 申扎县| 皋兰县| 白玉县| 汉沽区| 偃师市| 嘉荫县| 绩溪县| 绵竹市| 土默特右旗| 甘孜县| 鄯善县| 新蔡县| 固始县| 临高县| 揭东县| 田东县| 凤山县| 张北县| 政和县| 迭部县| 沁源县| 方城县| 兰州市| 铁岭县| 文登市| 清原| 泽州县| 夹江县| 湖州市| 伊通| 都安| 新野县| 赤峰市| 荃湾区| 云南省| 德化县| 增城市| 黔江区| 西盟| 海淀区|