Ama*_*ngh 5 javascript css jquery hover
我正在动态添加一些元素,并在委托的事件处理程序中为其分配一个悬停属性,我在下面的代码中使用它并且它不起作用.
$(document).on("hover", ".sec_close_fast", function() {
$(this).parent('div').parent('div').css("border", "3px solid #000000");
});
Run Code Online (Sandbox Code Playgroud)
然后我用mouseover它并且它起作用了:
$(document).on("mouseover", ".sec_close_fast", function() {
$(this).parent('div').parent('div').css("border", "3px solid #000000");
});
Run Code Online (Sandbox Code Playgroud)
我想知道为什么hover不起作用,但是mouseover.
函数/事件.hover实际上不是一个事件,但只是一个速记mouseenter和mouseleave.来自文档:
该
.hover()方法为两者mouseenter和mouseleave事件绑定处理程序.您可以使用它在鼠标位于元素中时简单地将行为应用于元素.
所以你不能用它来"委托"事件.
解
正如您已经提到的那样,正如文档中提到的那样,您可以使用:
$(static_parent).on("mouseenter mouseleave", element, function (e) {
if (e.type == "mouseenter") {
// check if it is mouseenter, do something
} else {
// if not, mouseleave, do something
}
});
Run Code Online (Sandbox Code Playgroud)