jquery 動態元素事件繫結 on

2021-09-30 11:27:02 字數 1515 閱讀 1973

jquery on()方法是官方推薦的繫結事件的乙個方法。

$(selector).on(event,childselector,data,function,map)

由此擴充套件開來的幾個以前常見的方法有.

bind()  

$("p").bind("click",function());

$("p").on("click",function());
delegate()
$("#div1").on("click","p",function());
$("#div2").delegate("p","click",function());
live()
$("#div1").on("click",function());
$("#div2").live("click",function());

以上三種方法在jquery1.8之後都不推薦使用,官方在1.9時已經取消使用live()方法了,所以建議都使用on()方法。

tip:如果你需要移除on()所繫結的方法,可以使用off()方法處理。

$(document).ready(function());  

$("button").click(function());

});

tip:如果你的事件只需要一次的操作,可以使用one()這個方法

$(document).ready(function());  });});

trigger()繫結$(selector).trigger(event,eventobj,param1,param2,...)$(document).ready(function());  $("button").click(function());});

多個事件繫結同乙個函式$(document).ready(function());});

多個事件繫結不同函式

$(document).ready(function(), mouseout:function(), click:function() });});

繫結自定義事件

$(document).ready(function()); $("button").click(function());});

傳遞資料到函式

function handlername(event) $(document).ready(function(), handlername)});

適用於未建立的元素

$(document).ready(function()); $("button").click(function());});

jquery給動態元素繫結事件

在jquery中,我們經常使用 elem bind event,function 這種方式給元素繫結事件。在大部分情況下這種寫法無疑是適用的。然而,當頁面上原本不存在某些如button,select等元素,而是後期通過動態建立的方式建立出來的控制項,這種寫法,便不再適用了。selector on e...

jQuery動態新增的元素繫結事件

今天在做專案是時候發現動態新增的元素不能繫結事件,由於本人js和jquery技術有限,所以也不知道原因,一查才知道,動態新增的元素繫結事件就會失效,所以修改了一下。jquery中繫結事件一般使用bind,或者click,但是這只能是對已經載入好的元素定義事件,那些後來新增插入的元素則需要另行繫結。在...

Jquery 為動態新增元素繫結事件

有一段時間沒用jquery了,今天又碰到這個問題。當時是知道有livejquery可以解決。但是我並不喜歡為了這個而另外載入乙個。我當時的處理方法是在新增的時候手工繫結事件處理函式。不過新版的jquery已經新增了這個功能。我們已經不需要為此煩惱了。參考 以前我們定義事件,比如為元素定義單擊事件是這...