我试图在mousedown之后强制执行mouseup事件

时间:2015-07-23 13:21:52

标签: javascript html css angularjs

elements[0].onmousedown = function(){
      console.log('screen clicked.');
      simulatemouseuphere;
};

我需要做的就是在我的函数中添加一些触发mouseup的东西,即使用户按住click按钮也是如此。

  

elements [0]是我的整个页面范围,所以无论你点击什么,它都会触发。

4 个答案:

答案 0 :(得分:1)

我很确定你可以调用onmouseup事件......

elements[0].onmousedown = function(){
      console.log('screen clicked.');

      elements[0].onmouseup();
};

请记住,当您实际停止按住鼠标时,将再次触发mouseup事件。 (除非在你管理的onmouseup()事件中)

快速测试,看起来很有效: http://jsfiddle.net/cUCWn/40/

答案 1 :(得分:1)

只是一个猜测,但是你可能想要触发绑定到mouseup事件的函数,而不是触发mouseup事件?

var onMouseUp = function() { 
 /* something */  
};

var onMouseDown = function() { 
 /* something */ 
 onMouseUp.apply(this,arguments); 
};

elements[0].onmousedown = onMouseDown;
elements[0].onmouseup = onMouseUp;

答案 2 :(得分:0)

$("body").on("mousedown", function(e)
{
    e.type = "mouseup";
    $(this).trigger(e);
}).on("mouseup", function(e)
{
    console.info(e);
});

或者:https://stackoverflow.com/a/12724570/2625561

对于纯JS:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events#Triggering_built-in_events

答案 3 :(得分:0)

此处描述的所有方法取决于您如何设置侦听器:jQuery,element属性。

如果您想要一种可行的方式,无论事件的设置方式如何,请使用How can I trigger a JavaScript event click

    @Override
    public void dispose() {
        stage.dispose();
        menuButton.dispose();
        skin.dispose();
        font.dispose();
    }

}

请注意,最好将mouseup处理程序的行为包装到可以调用的函数中。触发处理程序通常是代码味道,因为您不总是知道在触发事件时您可能触发的其他内容。例如:

SoundManager