jquery事件知识点

1.在javascript中利用如下方式添加事件:

        var tsd = document.getElementById("testDiv4");
        tsd.onclick = function(){
            alert("a");
        };
        tsd.onclick = function(){
            alert("b");
        };   

   在第二次添加后会覆盖之前定义的onclick,也就是只会弹出b,但是可以通过添加事件多播委托的方法来实现不覆盖,如:

if( tsd .addEventListener )//for dom
{
tsd .addEventListener( “click”, fnHandler, false )
}
else if( tsd.attachEvent )//for ie
{
tsd .attachEvent( "onclick", fnHandler);
}

这样就比较麻烦要区分不同的浏览器

 

利用jquery就简单多了,直接用bind方法来添加事件处理,如:

$("#testDiv4").bind("click", function(event) { alert("one"); });
$("#testDiv4").bind("click", function(event) { alert("two"); });

这样就不会覆盖,会一次弹出one,two

 

2.可以在html标签中编写自定义属性,通过javascript的getAttribute获取或者通过jquery的attr方法获取:

<div id="testDiv5" customer="customer data 1">
          获取自定义数据
 </div>

       $("#testDiv5").bind("click",function(event){
           //alert(event.target.getAttribute("customer"));
           alert($(event.target).attr("customer"));
       });

或者:

       $("#testDiv5").bind("click",{custom: "this is custom data"},function(event){
           alert(event.data.custom);
       });

 

你可能感兴趣的:(jquery)