jquery的mouseover方法如何阻止事件冒泡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery的mouseover方法如何阻止事件冒泡相关的知识,希望对你有一定的参考价值。

$("body").on("mouseover","div",function ()
$(".small").removeClass('small').addClass('big');
);
就是这个方法,不过div中的子元素也能相应mouseover。
我预期的效果是在整个大div上mouseover的时候触发事件。
求大神解答。

参考技术A 你这个写法本身就是事件代理的写法,不冒泡怎么事件代理?你问题表达的肯定有问题,再明确一下吧。追问

昨天就是你回答的我的问题。
我想实现的效果是:一个div中包含了很多dl、dt、dd,只要移动到这个div框上的时候,就把这个div宽度变大,移出div的时候把div宽度还原。但是现在在div上移动,每当经过dt、dd都会执行mouseover和mouseout方法,导致div反反复复变大变小。

参考技术B

2个方法:


return false;

e.stopPropagation();

参考技术C 用mouseenter和mouseleave本回答被提问者采纳

jquery 一些事件

mouseenter事件:

当鼠标指针穿过元素时,会发生 mouseenter 事件。

该事件大多数时候会与 mouseleave 事件一起使用。

mouseenter() 方法触发 mouseenter 事件,或规定当发生 mouseenter 事件时运行的函数。

注释:与 mouseover 事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。如果鼠标指针穿过任何子元素,同样会触发 mouseover 事件。


 

 

mouseleave事件:

当鼠标指针离开元素时,会发生 mouseleave 事件。

该事件大多数时候会与 mouseenter 事件一起使用。

mouseleave() 方法触发 mouseleave 事件,或规定当发生 mouseleave 事件时运行的函数。

注释:与 mouseout 事件不同,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。


 

插入:属性部件(如_create()以下划线开头,表示私有。)


强制执行 objPerson 内的 "test" 函数的上下文:

$("button").click($.proxy(objPerson,"test"));

$.proxy 方法接受一个已有的函数,并返回一个带特定上下文的新的函数。

该方法通常用于向上下文指向不同对象的元素添加事件。

提示:如果您绑定从 $.proxy 返回的函数,jQuery 仍然可以通过传递的原先的函数取消绑定正确的函数。


 

 

以上是关于jquery的mouseover方法如何阻止事件冒泡的主要内容,如果未能解决你的问题,请参考以下文章

jquery如何阻止事件冒泡

鼠标事件界面转换 mouseover() 方法

JS问题/jquery问题 如何让DIV里的元素不触发mouseover事件?

jQuery因mouseover,mouseout冒泡产生的闪烁问题

jquery阻止事件冒泡

Jquery hover方法使用及 mouseenter与mouseleave和 mouseover与mouseout的区别