久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

IE和FireFox中JS兼容之event .

 蘇氏IT館 2016-07-21
2012-04-11 12:29 6416人閱讀 評(píng)論(0) 收藏 舉報(bào)
分類(lèi):

轉(zhuǎn)載于:http://blog.csdn.net/jiachunfeng/article/details/6448186 http://justcoding./blog/587876

 

event對(duì)象

IE 中可以直接使用 event 對(duì)象,,而 FF 中則不可以,,解決方法之一如下:
var theEvent = window.event || arguments.callee.caller.arguments[0];

第二種是將 event 作為參數(shù)來(lái)傳遞:
function xxx(e){var theEvent = window.event || e;}

srcElement 和 target

在 IE 中 srcElement 表示產(chǎn)生事件的源,,比如是哪個(gè)按鈕觸發(fā)的 onclick 事件,F(xiàn)F 中則是 target,。

var theEvent = window.event || arguments.callee.caller.arguments[0];
var theObj=theEvent.target || theEvent.srcElement;

例子:

document.onclick = function(e){
           var theEvent = window.event || e;
           var theObj=theEvent.target || theEvent.srcElement;

function clickAction(){
       var theEvent = window.event || arguments.callee.caller.arguments[0];
       var theObj=theEvent.target || theEvent.srcElement;

       // do something;
}

function clickAction(e){
       var theEvent = window.event || e;
       var theObj=theEvent.target || theEvent.srcElement;

       // do something;
}

event.keyCode 和event.which

FF不支持window.event.keyCode,,代替著是event.which

列子:

//在網(wǎng)頁(yè)上面屏蔽tab鍵的代碼
document.onkeydown = function (e){
            var theEvent = window.event || e;
            var code = theEvent.keyCode || theEvent.which;
            if(code == 9){
              return false;
            }
}

 

 

============

Query對(duì)DOM的事件觸發(fā)具有冒泡特性。有時(shí)利用這一特性可以減少重復(fù)代碼,,但有時(shí)候我們又不希望事件冒泡,。這個(gè)時(shí)候就要阻止 jQuery.Event冒泡。

 

jQuery.Event 的文檔 中的開(kāi)頭得知,,jQuery.Event對(duì)象是符合W3C標(biāo)準(zhǔn)的一個(gè)事件對(duì)象,,同時(shí)jQuery.Event免去了檢查兼容IE的步驟。

 

jQuery.Event提供了一個(gè)非常簡(jiǎn)單的方法來(lái)阻止事件冒泡:event.stopPropagation();

 

Js代碼 復(fù)制代碼 收藏代碼
  1. $("p").click(function(event){   
  2.     event.stopPropagation(); // do something   
  3. })  
  1. <span style="font-size:18px;">$("p").click(function(event){  
  2.     event.stopPropagation(); // do something  
  3. })</span>  

 

但是這個(gè)方法對(duì)使用live 綁定的事件沒(méi)有作用,,需要一個(gè)更簡(jiǎn)單的方法阻止事件冒泡:return false;

 

Js代碼 復(fù)制代碼 收藏代碼
  1. $("p").live("click", function(){   
  2.     $(this).after("Another paragraph!");   
  3.     return false;   
  4. });  
  1. <span style="font-size:18px;">$("p").live("click", function(){  
  2.     $(this).after("Another paragraph!");  
  3.     return false;  
  4. });</span>  

 

 

另外 JavaScript 阻止冒泡

 

 阻止冒泡事件的方法有兩種,第一種是IE的方法,,第二種是DOM方法,,至于為什么要分為兩種方法去討論之,這里就不做討論了,,總之是瀏覽器一些蹩腳的問(wèn)題,,好了廢話不說(shuō)了,直接貼代碼了:

 

Js代碼 復(fù)制代碼 收藏代碼
  1. //阻止冒泡事件   
  2.  function stopBubble(e) {   
  3.      if (e && e.stopPropagation) {//非IE   
  4.          e.stopPropagation();   
  5.      }   
  6.      else {//IE   
  7.          window.event.cancelBubble = true;   
  8.      }   
  9.  }  
  1. <span style="font-size:18px;">   //阻止冒泡事件  
  2.     function stopBubble(e) {  
  3.         if (e && e.stopPropagation) {//非IE  
  4.             e.stopPropagation();  
  5.         }  
  6.         else {//IE  
  7.             window.event.cancelBubble = true;  
  8.         }  
  9.     }</span>  

 

舉個(gè)例子:就是谷歌首頁(yè)的更多選項(xiàng)吧,,不知道的可以去看看http://www.google.com/ ,。
這里要應(yīng)用兩個(gè)點(diǎn)擊事件,,一個(gè)是div.onclick,另一個(gè)就是document.onclick,,那么問(wèn)題就出現(xiàn)了,,在調(diào)用 div.onclick的時(shí)候,由于冒泡事件的存在,,會(huì)自動(dòng)的調(diào)用document.onclick,,由于冒泡的順序是從里向外的

(div->body->document->html)所以div.onclick事件就會(huì)被覆蓋掉,也就不會(huì)執(zhí)行了,,解決的方案其實(shí)也是很簡(jiǎn)單的哦,,就是在執(zhí)行div.onclick的時(shí)候阻止冒泡事件就好了,那怎么阻止呢,,就調(diào)用上面的函數(shù)就ok了,!哈哈!
ps:在介紹一下阻止瀏覽器默認(rèn)行為的方法,,大同小異,,這里就不再贅述了。

 

Js代碼 復(fù)制代碼 收藏代碼
  1. function stopDefault(e) {   
  2.      //阻止默認(rèn)瀏覽器動(dòng)作(W3C)   
  3.      if (e && e.preventDefault)   
  4.          e.preventDefault();   
  5.      //IE中阻止函數(shù)器默認(rèn)動(dòng)作的方式   
  6.      else  
  7.          window.event.returnValue = false;   
  8.      return false;   
  9.  }   

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多