我希望能够触发事件并让它显示实际上有一个按钮在事件被触发时失效。
$('table').on('mousemove', function(e) {
var is_dragging = e.buttons.length > 0;
// is_dragging should === true;
});
$('table').trigger('mousemove'); // is_dragging will be false
答案 0 :(得分:1)
试一试。创建自定义事件并将buttons
属性附加到其中。
$('table').on('mousemove', function(e) {
var is_dragging = e.buttons.length > 0;
// is_dragging should === true;
});
var e = $.Event( 'mousemove' );
e.buttons = ['<set any key you need>'];
$('table').trigger(e);
答案 1 :(得分:1)
所以基于我认为你想要完成的事情。你想为onmousemove设置一个事件处理程序,你要检查按钮是否关闭(不管哪个按钮关闭)但是你想手动触发事件并且条件is_dragging结果为true。 / p>
如果使用$('table').trigger('mousemove');
手动触发事件,则事件将没有按钮属性,但它将具有== 3的.isTrigger属性。
试试这个: https://jsfiddle.net/SeanWessell/L2z0su3j/
$('table').on('mousemove', function(e) {
var is_dragging = e.buttons > 0 || e.buttons == undefined && e.isTrigger == 3;
// is_dragging should === true;
$('p').html(is_dragging.toString())
});
$('#trigger').click(function(){
$('table').trigger('mousemove');
})
答案 2 :(得分:0)
<强> :: UPDATE :: 强>
了解ondragstart
http://www.w3schools.com/jsref/event_ondragstart.asp
=======
*.buttons
用于您点击的按钮。在mousemove
时,您没有点击按钮。
表示您的e.buttons === 0
有关MouseEvent.button的文档: http://www.w3schools.com/jsref/event_button.asp
您可以在函数中放置debugger
并检查e
变量
<强>的jsfiddle:强> http://jsfiddle.net/qf3u8m61/