2015-11-11 84 views
1

我有我希望會是一個簡單的問題。我更常用的是jQuery和JavaScript。將jQuery事件處理程序應用於相同類型的所有元素

我正試圖編寫一個簡單的jQuery事件處理程序,當我將鼠標懸停在他們的頁面上時,它將突出顯示頁面上的li。我試過了:

$('li').on('mouseover', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

它不起作用。它不會產生錯誤,但沒有結果。

不過,如果我嘗試類似:

$(document).on('mouseover', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

我能夠突出顯示任何DOM元素我想通過鼠標懸停。

我將事件處理程序放在我的js文件的末尾,並且使用第二種方法顯示,即使是動態生成的DOM元素也可以高亮顯示而不會出現問題。但是,如果我嘗試通過標記或者甚至是類來選擇DOM元素,我無法產生任何效果。

+0

將evt.target改爲 –

+0

對於動態內容使用:'$(document).on('yourevent','yourelement',function(){} –

回答

0

嘗試委託了記錄,像這樣,因爲你的目標動態內容:

$(document).on('mouseover', 'li', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

您可能需要閱讀本Event Delegation

+0

這樣做!謝謝:) –

相關問題