我把a标签都加了addEventListener ,但有些新增的没有加,通过ajax改变的,请问怎么样判断是否加了 addEventListener

解决方案 »

  1.   

    重写addEventListener 方法
    在里面设置数组变量来判断哪些已经做过
      

  2.   

    不要用addEventListener 直接用事件 onclick=....的形式 这样只要判断 typeof(xxx.onclick)=="function"就可以了
      

  3.   

    一般来说只要是一个元素的同一个事件不要同时绑定多个语句柄都可以直接用 onXXXXX=....的方式
      

  4.   

    我还是觉得做个隐藏的标志要好些,不这样做的话可以象下面的例子做
    <input name="aaa">
    <input name="bbb">
    <input name="ccc">
    <script language=javascript>
    temp=new Object()
    addEventListenerNew=function()
    {
    temp[arguments[0].name]="1"
    addEventListener.apply(arguments[0],arguments.slice(1));
    }
    addEventListenerNew(document.getElementById("aaa"),"click",function(){alert('haha')},false);
    addEventListenerNew(document.getElementById("bbb"),"click",function(){alert('haha')},false);
    </script>
    <script language=javascript>
    var objs=document.getElementsByTagName("input")
    for(var i=0;i<objs.length;i++)
    {
    if(!temp[objs[i].name])
    {
    alert(objs[i].name+"没有添加")
    }
    }
    </script>
      

  5.   

    注明下,大家要测试的话不能用IE,这东西不是IE下的
      

  6.   

    不要用addEventListener 直接用事件 onclick=....的形式 这样只要判断 typeof(xxx.onclick)=="function"就可以了
    ----------
    用onClick达不到效果,已经试过的了只能用 addEventListener /attachEvent
      

  7.   

    谢谢 hbhbhbhbhb1021(天外水火(我要多努力)) 我先试一下
      

  8.   

    hbhbhbhbhb1021(天外水火(我要多努力)) 好象有点问题,只有第一个有效