<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我是FE,也是Fe

    前端來源于不斷的點滴積累。我一直在努力。

    統計

    留言簿(15)

    閱讀排行榜

    評論排行榜

    使用javascript觸發事件

    javascript中的事件時通過事件監聽的機制來實現,但是在某些情況下需要使用javascript手動觸發事件。
    <input type="button" id="btn1" name="" value="test" onclick="alert('click');" />
    <input type="button" id="" name="" value="fire" onclick="fire();" />
    如果fire按鈕來觸發test按鈕的onclick事件,fire方法可以這么寫的:
            function fire(){
                
    var evt = window.event?window.event:fire.caller.arguments[0];//獲取event對象
                var o= document.getElementById("btn1");
                
    if(o.fireEvent){//IE
                    o.fireEvent("onclick",evt);//IE下可以直接使用fireEvent方法觸發事件
                }else{//other browsers
                    //創建一個對象
                    var event = document.createEvent("MouseEvents");
                                
                    
    //設置event對象屬性
                    event.initMouseEvent("click"truetrue, document.defaultView, 00000
                                         
    falsefalsefalsefalse0null);
                                
                    
    //觸發事件
                    o.dispatchEvent(event); 
                }
            }

    最開始看到這些代碼是在Wrox.Professional.JavaScript.For.Web.Developers.2nd書中,我迅速想到jquery中是否有類似的實現?事實上我連dispatchEvent都沒有找到




    事實上我想復雜了,要觸發onclick事件,直接用oBtn.click()方法即可,沒有瀏覽器兼容問題。jquery中就是直接用這個方法的。
    $(function(){
                $(
    "#jqFire").click(function(){
                    $(
    "#btn1").click();//works
                    o.click();//also works
                });
            });

    關于上面提到的createEvent/initMouseEvent/dispatchEvent/fireEvent方法可以參考下列資料:

    http://stackoverflow.com/questions/911586/javascript-simulate-mouse-over-in-code

    http://stackoverflow.com/questions/460644/trigger-an-event-with-prototype 這個帖子介紹了幾種事件觸發的方法

    http://jehiah.cz/a/firing-javascript-events-properly 一個觸發事件方法封轉

    http://code.google.com/p/jqueryjs/source/browse/trunk/plugins/simulate/jquery.simulate.js?r=6163 jquery.simulate.js的源代碼



    posted on 2010-11-29 00:17 衡鋒 閱讀(1099) 評論(0)  編輯  收藏 所屬分類: Web開發

    主站蜘蛛池模板: 精品亚洲A∨无码一区二区三区| 4480yy私人影院亚洲| 亚洲AV一区二区三区四区| 久久久久久夜精品精品免费啦| 久久高潮一级毛片免费| 亚洲av无码成人精品区| 国产亚洲综合色就色| 99久久婷婷免费国产综合精品| 啦啦啦中文在线观看电视剧免费版 | 美女在线视频观看影院免费天天看| 最近的中文字幕大全免费8 | 亚洲春色另类小说| 精品久久久久成人码免费动漫| 亚洲91精品麻豆国产系列在线| 特级毛片免费播放| 8x成人永久免费视频| 亚洲精品视频免费看| 国产一级婬片A视频免费观看| 亚洲乱码精品久久久久..| 久久免费精品视频| 亚洲国产精品午夜电影| 欧美三级在线电影免费| 美女羞羞视频免费网站| 亚洲熟妇丰满多毛XXXX| 午夜理伦剧场免费| 亚洲自偷自偷偷色无码中文| 男女作爱在线播放免费网站| 亚洲av专区无码观看精品天堂 | 在线看片免费不卡人成视频 | 亚洲毛片免费观看| 全免费a级毛片免费看不卡 | a级成人毛片免费视频高清| 亚洲综合成人网在线观看| 成年女人视频网站免费m| 97亚洲熟妇自偷自拍另类图片 | 亚洲国产精品成人久久蜜臀 | 亚洲精品高清国产一久久| 久久久久国产精品免费免费搜索| 福利片免费一区二区三区| 最近2019中文字幕mv免费看| 特级毛片在线大全免费播放|