如何仅针对特定元素使用jQuery触发鼠标悬停事件,而不允许事件传播到父控件。
我知道如何触发事件:$('selector').trigger('mouseover');
例如我image
内有tr
。我有两个悬停事件处理程序。
我想手动触发仅用于图像的悬停事件。
有没有人有想法?
答案 0 :(得分:5)
我在示例here中找到了答案。 这是解决我问题的代码:
var event = jQuery.Event('<event_name>');
event.stopPropagation();
$('<selector>').trigger(event);
答案 1 :(得分:2)
您可以将鼠标悬停在普通事件监听器上,然后执行类似的操作。
$("selector").on('mouseover', function(event){
event.stopPropagation();
// do something
});
这将阻止事件冒泡到容器元素。 然后,您可以像往常一样调用触发器
$('selector').trigger('mouseover');
答案 2 :(得分:0)
使用mouseenter
或event.stopPropagation()
喜欢
$("img").on('mouseover', function(e){
e.stopPropagation();
// do something
});
或
$("img").on('mouseenter', function(e){
// do something
});