如何首先找到mouseclick
,如果没有点击,请转到mouseover
?
我在两个鼠标事件中实现了两种类型的功能。一个位于mouseover
,另一个位于mouseclick
。
如果我点击了,我需要先触发mouseclick
事件,而不是mouseover
事件。我知道默认情况下会先触发mouseover
。但是如何实现这种情况。
代码:
$('.example').mouseover(function (event) {
// ...
//mouse over logic
// ...
});
$('.example').mouseclick(function (event) {
// ...
//mouse click logic
// ...
});
注意:
Alos,我尝试使用计时器,但是在每次尝试中都设置了控制标志 首先触发
mouseover
。mouseover
mouseclick
具有不同的功能。如果两者相同,那么 我们可以把它放在一起。但是,这里的情况有所不同。我也有 通过网络搜索这个。但到目前为止没有任何帮助感谢。
答案 0 :(得分:0)
使用以下内容:
var timer;
$(".example").on("mouseenter",function(e){
timer=setTimeout(function(){
// onmouseenter if not clicked
$(".example").css({background:"red"}); // for testing
}, 2000);
});
$('.example').click(function (event) {
clearTimeout(timer); // Don't call the onmouseenter
$(".example").css({background:"blue"}); // for testing
});
答案 1 :(得分:0)
如何在点击事件中定义鼠标悬停事件?
示例:
$('.example').mouseclick(function (event) {
// ...
//mouse click logic
// ...
$(body).bind('onmouseover', '.example'){
// mouseover logic
}
});
我没有经过严格测试......
答案 2 :(得分:0)
您有两个选择:
手动触发事件:
$(this).trigger('mousehover');
将其放在点击处理程序中。
将处理程序存储在变量中并在单击处理程序中手动运行。
应该很容易自己实现