gpt4 book ai didi

javascript - 鼠标移开并单击

转载 作者:行者123 更新时间:2023-11-30 16:07:32 24 4
gpt4 key购买 nike

当用户将鼠标悬停在一个 div 上时,它应该变为红色,当他们将鼠标移开时,它应该变回透明。当他们点击 div 时,它应该变为红色。

由于某种原因,鼠标移开事件监听器与单击事件监听器发生冲突。有人可以帮忙吗?当我点击 div 时,它不会变为红色。

div$.on('mouseover', function () {
$(this).css('background-color', 'red');
});

div$.on('mouseout', function () {
$(this).css('background-color', 'white');
});

div$.on('click', function () {
$(this).css('background-color', 'red');
});

请注意,我必须为每个元素动态应用背景图片,因此使用 CSS 类添加背景图片是不可能的(因为我事先不知道)。

最佳答案

您可以设置一个 boolean 变量来确认点击已经发生,然后仅在变量为 false 时运行 mouseout 代码,如下所示:

var is_clicked = false;

div$.on('mouseover', function () {
$(this).css('background-color', 'red');
});

div$.on('mouseout', function () {
if(!is_clicked) {
$(this).css('background-color', 'white');
}
});

div$.on('click', function () {
$(this).css('background-color', 'red');
is_clicked = true;
});

注意:对于多个 div 元素用户多个 is_clicked 变量

关于javascript - 鼠标移开并单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36812021/

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