jquery點選事件失效原因和解決辦法

2022-06-28 13:54:07 字數 668 閱讀 4817

在使用jquery繫結點選事件的時候,有時候會遇到點選無效,這種情況大多出現在動態新增元素的時候

例如:給demo裡新增li元素給li繫結點選事件

給li元素繫結點選事件

//

示範一$("#demo li").click(function

());

//示範二

$("#demo li").on('click',function

());

這兩種繫結方式,點選發現都不能夠觸發動態新增後的li元素

動態生成的標籤事先繫結的點選事件點選了沒反應。

推測上面這個監聽函式,是在網頁載入的時候就指定了物件,而通過**追加,如通過js追加的元素,是不能匹配這個事件的。

那麼,我們應該使用什麼來繫結動態元素呢,支援給動態元素和屬性繫結事件的是live和on,其中live在jquery 1.7之後就不推薦使用了。現在主要用on,使用on的時候也要注意,on前面的元素也必須在頁面載入的時候就存在於dom裡面。動態的元素或者樣式等,可以放在on的第二個引數裡面。

例如:

$("#demo").on('click', 'li',function

());

//或者

$(document).on('click', 'li',function

());

ios點選事件失效

當使用委託給乙個元素新增click事件時,如果事件是委託到 document 或 body 上,並且委託的元素是預設不可點選的 如 div,span 等 此時 click 事件會失效。解決辦法有 4 種可供選擇 1 將 click 事件直接繫結到目標 元素 即 target 上 2 將目標 元素換成...

IOS點選事件失效

問題描述 當使用委託給乙個元素新增click事件時,如果事件是委託到 document 或 body 上,並且委託的元素是預設不可點選的 如 div,span 等 此時 click 事件會失效。可以使用下面的 在 ios 中進行測試。ios click bug testclick me 解決辦法有 ...

jQuery模擬滑鼠點選事件失效的問題

最近使用jquery操作瀏覽器獲取資料,需要對分頁的資訊進行處理,發現直接使用 div pager a.next click 的這種寫法無法觸發點選事件。使用trigger click 的寫法也是無濟於事。在網上一頓扒拉後,發現使用 div pager a.next 0 click 就ok了。div...