我有一段代码,要实现点击网页任何部分,分析点击部分的标签(tagName),然后做出判断。里面要用到click事件监听,和event的传递,在firefox和ie兼容方面出现了问题。以下是代码。if(!document.all) {
window.document.addEventListener("click",hit,false);
}else{
window.document.attachEvent("onclick",hit);
}function hit(e){
var evt = window.event|| e;
var element=evt.srcElement || evt.target;
//继续
} 这段代码在ie下执行是没问题的,但是在firefox下通不过。因为firfox需要传递当前event给调用函数才能在函数中获取,而我的代码在监听过程中,调用hit函数却没法加参数,我修改代码为:
window.document.addEventListener("click",hit(event),false); 是通不过的。不知道哪位高手能指点下,是不是我写错了,或者有没有别的方法?

解决方案 »

  1.   


    document.attachEvent("onclick",function(e){hit(e)});
      

  2.   


    <script>
    window.onload = function(){
      if(!document.all) { 
        window.document.addEventListener("click",function(evt){hit(evt)},false); 
      }else{ 
        window.document.attachEvent("onclick",hit); 
      } 
    }function hit(e){ 
      var evt = window.event|| e; 
      var element=evt.srcElement || evt.target; 
      alert(element.tagName);
    } </script>
    <div>xxxxxxxxx</div>
      

  3.   


    function hit(){ 
    var evt = window.event|| arguments[0]; 
    var element=evt.srcElement || evt.target; 
    }