gpt4 book ai didi

javascript - 类更改不会影响 onmouseover

转载 作者:行者123 更新时间:2023-12-02 18:39:27 26 4
gpt4 key购买 nike

我正在使用 jQuery 1.7.2,我想做的是在一个 div 上触发 onmouseover (使用类 active),但在 onmouseout 上触发 将该类更改为 inactive,并将第二个 div 的类从 inactive 更改为 active。在此之后,我希望 onmouseover 现在将在第二个 div 上触发(我什至使用 .on() 所以它应该是事件的),但它不会。这是我的代码:

HTML

<div class="myDiv active first"></div> <div class="myDiv inactive second"></div>

JavaScript

$(document).ready(function () {
$(".active").on("mouseover", function () {
$("#output").text("mouseover fired!");
});

$(".active").on("mouseout", function () {
$("#output").text("");
$(".first").addClass("inactive").removeClass("active");
$(".second").addClass("active").removeClass("inactive");
});
});

这是jsFiddle为了它。您可以在开发人员工具中看到该类已正确切换,但事件仍然在第一个类上触发。

最佳答案

I am even using .on() so it should be live

不,.on()只有event delegation传递后代选择器参数时的效果:

$(document).on("mouseover", ".active", function () {

而不是 document ,您可以使用最接近的静态 .active容器元素以获得更好的性能。

<小时/>

如果没有后代选择器参数,jQuery 将直接将事件处理程序仅附加到 jQuery 对象 $('.active') 中匹配的元素。在执行时,与简写 .mouseover(fn) 完全相同和年龄较大的.bind('mouseover', fn)方法会。

关于javascript - 类更改不会影响 onmouseover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16977817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com