Javascript 两个jQuery事件处理程序-在两个事件都被激发时执行代码
我想在两个事件处理程序都被触发时运行一些代码。 我试过这样做:Javascript 两个jQuery事件处理程序-在两个事件都被激发时执行代码,javascript,jquery,events,Javascript,Jquery,Events,我想在两个事件处理程序都被触发时运行一些代码。 我试过这样做: $('#box').mousedown(function(){ $(document).bind('mousemove',function(e){ // more code here }); }); 但是当我触发mousedown一次,然后再移动鼠标时,代码甚至可以工作。我只想在鼠标按下并移动时执行代码。 我怎样才能做到这一点呢?试着试一试?有一个全局变量,指示鼠标是否按下。在#框元素上向下
$('#box').mousedown(function(){
$(document).bind('mousemove',function(e){
// more code here
});
});
但是当我触发mousedown一次,然后再移动鼠标时,代码甚至可以工作。我只想在鼠标按下并移动时执行代码。
我怎样才能做到这一点呢?试着试一试?有一个全局变量,指示鼠标是否按下。在
#框
元素上向下鼠标时,全局变量设置为true。当他们滑鼠时,它被设置为false
$(document).ready(function(){
var mouseDown = false;
$("#box").mousedown(function(){
mouseDown = true;
});
$(document).mouseup(function(){
mouseDown = false;
});
$(document).mousemove(function(){
if (mouseDown){
//do your stuff here
}
});
});
试试这个?有一个全局变量,指示鼠标是否按下。在
#框
元素上向下鼠标时,全局变量设置为true。当他们滑鼠时,它被设置为false
$(document).ready(function(){
var mouseDown = false;
$("#box").mousedown(function(){
mouseDown = true;
});
$(document).mouseup(function(){
mouseDown = false;
});
$(document).mousemove(function(){
if (mouseDown){
//do your stuff here
}
});
});
我认为问题在于你对事件处理程序工作方式的理解,一旦你添加了一个事件处理程序,它就会监听它的事件 因此,当dom准备就绪时,您的代码将添加一个事件处理程序来侦听
mousedown
,一旦发生,它将为mousemove
添加一个事件-文档现在已注册了两个事件处理程序,因此它将分别为这两个事件处理程序执行操作
您要做的是删除mouseup
事件上的mousemove
的事件处理程序。这样,文档现在不再侦听mousemove
事件处理程序,因为它已被删除
$('#box').mousedown(function(){
$(document).bind('mousemove',function(e){
// Do something:
});
});
$(document).mouseup(function(){
$(document).unbind('mousemove');
});
,这样您就可以看到发生了什么。它将在
框下添加一条消息。我认为您遇到的问题是您对事件处理程序工作方式的理解,一旦您添加了事件处理程序,它将监听其事件
因此,当dom准备就绪时,您的代码将添加一个事件处理程序来侦听mousedown
,一旦发生,它将为mousemove
添加一个事件-文档现在已注册了两个事件处理程序,因此它将分别为这两个事件处理程序执行操作
您要做的是删除mouseup
事件上的mousemove
的事件处理程序。这样,文档现在不再侦听mousemove
事件处理程序,因为它已被删除
$('#box').mousedown(function(){
$(document).bind('mousemove',function(e){
// Do something:
});
});
$(document).mouseup(function(){
$(document).unbind('mousemove');
});
,这样您就可以看到发生了什么。它将在框下添加一条消息
event.stop()
或
请在使用事件之前删除代码段。
例如:
使用
event.stop()
或
请在使用事件之前删除代码段。
例如:
作为参考,您正在经历的行为确实有意义。一旦鼠标按下事件触发,您将绑定mousemove事件。这与函数调用不同。可能的重复作为参考,您正在经历的行为是有意义的。一旦鼠标按下事件触发,您将绑定mousemove事件。它不像函数调用。可能是