1、jquery事件绑定和委托的实现
jQuery的事件綁定和委托可以使用 on()、one()、bind()、live()、delegate()等方法實現。
1、on()? :
語法:$(selector).on(event,childSelector,data,function)
作用:可以在被選元素及子元素上添加一個或多個事件處理程序,并且此事件處理程序適用于當前及未來的元素。
一般使用:
????$("#thisA").on("click", function(){?
??????? ????console.log("id是thisA的標簽添加了click點擊事件。");
????});?
或:
? ?? $("#thisA").on("click mouseover",{id:"id"}, function(e){?
??????? ????console.log("id是thisA的標簽添加了點擊和鼠標懸停事件,傳遞的值是:"+e.data.id);
????});??
或:
????$("body").on("click","#thisA" ,function(){
??????????? console.log("可以給當前元素下的子元素添加事件");
????});
可用off()方法移除事件綁定:
????$("#thisA").off("click");
如需添加只運行一次的事件然后移除,可直接使用 one() 。
?
2、bind():
語法:$(selector).bind(event,data,function,map)
作用:向被選元素添加一個或多個事件處理程序,以及當事件發生時運行的函數,不能為未來元素添加事件。
一般使用:
?????$("#thisA").bind("click", function(){?
??????? console.log("id是thisA的標簽添加了click點擊事件。");
????? });
或:
?? ?? $("button").bind({
??????? click:function(){$("p").slideToggle();},
??????? mouseover:function(){$("body").css("background-color","#E9E9E4");},?
??????? mouseout:function(){$("body").css("background-color","#FFFFFF");}?
?
????? });?
?
可用unbind()方法移除事件綁定。?
?
?
3、live() :
??? 此方法在 jQuery 版本 1.7 中廢棄,在版本 1.9 中被移除。請使用 on() 方法代替。
4、delegate():
語法:$(selector).delegate(childSelector,event,data,function)
用法:為指定的元素及其子元素添加一個或多個事件處理程序,此方法適用于當前或未來的元素。
一般使用:使用實例類似于on()。
?
可用undelegate()方法移除事件綁定。
?
?
總結:jQuery的事件綁定和委托基本可以使用清一色的on方法進行實現,特殊情況另外考慮。(一家之言,可能有誤)
總結
以上是生活随笔為你收集整理的1、jquery事件绑定和委托的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xp笔记本接路由器怎么设置xp台式电脑怎
- 下一篇: 14、java中的集合(1)