我正在开发一个jQuery插件,它可以截取几个鼠标事件(mousedown,mouseup,mouseout,click),用于不同目的。
然而,由于一个事件在另一个事件之前被触发,它有时无法正常工作。
我无法真正重现它,所以请理解我做了一些研究(因为我发现了http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings)。
如何设置鼠标顺序触发(例如点击后鼠标)?如有必要,我可以使用jQuery。
答案 0 :(得分:1)
据我所知,排序取决于浏览器,因此您不能依赖特定的序列。
设置/检查标志是否适合您? e.g。
<button id="myButton">Click Me!</button>
<script>
function doSomething() {
alert("Hello world!");
}
var mouseUpFired = false;
var clickFired = false;
// etc
$(document).mouseup(function() {
mouseUpFired = true;
if(mouseUpFired && clickFired /*etc*/) {
doSomething();
}
});
$(document).click(function() {
clickFired = true;
if(mouseUpFired && clickFired /*etc*/) {
doSomething();
}
});
</script>