手动触发鼠标hover事件而不允许事件传播
如何仅针对特定元素使用jQuery触发鼠标hover事件,而不允许事件传播到父控件。
我知道如何触发事件: $('selector').trigger('mouseover');
例如,我在tr
里面有一个image
。 我有两个hover事件处理程序。 我想手动触发仅用于图像的hover事件。
有没有人有想法?
我在这里的例子中找到了答案。 这是解决我的问题的代码:
var event = jQuery.Event(''); event.stopPropagation(); $('').trigger(event);
您可以将鼠标hover作为普通事件侦听器附加,然后执行类似的操作。
$("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 });
读取mouseenter()和mouseover()