如何使用jQuery爲特定元素觸發mouseover事件,而不允許將事件傳播到父控件。手動觸發mouseover事件而不允許事件傳播
我知道如何觸發事件:$('selector').trigger('mouseover');
比如我有一個image
內tr
。我有兩個懸停事件處理程序。 我想爲圖像手動觸發懸停事件。
有沒有人有想法?
如何使用jQuery爲特定元素觸發mouseover事件,而不允許將事件傳播到父控件。手動觸發mouseover事件而不允許事件傳播
我知道如何觸發事件:$('selector').trigger('mouseover');
比如我有一個image
內tr
。我有兩個懸停事件處理程序。 我想爲圖像手動觸發懸停事件。
有沒有人有想法?
我找到了一個請看示例here。 以下是解決我的問題的代碼:
var event = jQuery.Event('<event_name>');
event.stopPropagation();
$('<selector>').trigger(event);
您可以將mouseover附加爲普通事件偵聽器,然後執行此類操作。
$("selector").on('mouseover', function(event){
event.stopPropagation();
// do something
});
這將停止冒泡到容器元素的事件。 然後,您可以打電話給你的扳機,你通常會
$('selector').trigger('mouseover');
使用mouseenter
或event.stopPropagation()
像
$("img").on('mouseover', function(e){
e.stopPropagation();
// do something
});
或
$("img").on('mouseenter', function(e){
// do something
});
這對我沒有幫助,因爲我想觸發已經附加到此事件的事件處理程序,無論何時何地。 – Vladislav
您必須更改事件處理程序才能停止傳播。 – adeneo