有没有办法设置JavaScript鼠标事件顺序?

时间:2015-11-19 14:30:14

标签: javascript

我正在开发一个jQuery插件,它可以截取几个鼠标事件(mousedown,mouseup,mouseout,click),用于不同目的。

然而,由于一个事件在另一个事件之前被触发,它有时无法正常工作。

我无法真正重现它,所以请理解我做了一些研究(因为我发现了http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings)。

如何设置鼠标顺序触发(例如点击后鼠标)?如有必要,我可以使用jQuery。

1 个答案:

答案 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>