而鼠标按下事件。原型JS或Javascript
我想知道,如果有人知道如何使一个功能在按下鼠标时反复重复,我不知道如何使它工作。我知道在原型中,你可以参加类似的活动而鼠标按下事件。原型JS或Javascript,javascript,mouse,prototypejs,dom-events,pressed,Javascript,Mouse,Prototypejs,Dom Events,Pressed,我想知道,如果有人知道如何使一个功能在按下鼠标时反复重复,我不知道如何使它工作。我知道在原型中,你可以参加类似的活动 $('id').observe("click",function(event){}) $('id').observe("leave",function(event){}) $('id').observe("change",function(event){}) //etc... 但是类似于$'id'。observewhilemousepress,functionevent{}:
$('id').observe("click",function(event){})
$('id').observe("leave",function(event){})
$('id').observe("change",function(event){})
//etc...
但是类似于$'id'。observewhilemousepress,functionevent{}:p
//我知道Javascript中没有任何事件,但我想进行模拟。我无法对原型细节进行评论,但您可能可以通过创建一个间隔来实现这一点,该间隔从mousedown开始,在mouseup停止使用。我无法对原型细节进行评论,但是,您可能可以通过创建一个间隔来实现这一点,该间隔在mousedown时开始,在mouseup时停止。有一个用于鼠标按下时的事件,还有一个用于鼠标向上时的事件mouseup。只需在按下鼠标时启动事件,并在松开按钮时停止事件
$('id').observe("mousedown",function(event){
// Do whatever you want
})
$('id').observe("mouseup",function(event){
// Stop the events starts when the mouse when down
})
当鼠标向下移动时有一个事件,当鼠标向上移动时有一个事件。只需在按下鼠标时启动事件,并在松开按钮时停止事件
$('id').observe("mousedown",function(event){
// Do whatever you want
})
$('id').observe("mouseup",function(event){
// Stop the events starts when the mouse when down
})
好的。。。我想两者都是正确的我所做的是:
$('right').observe('mousedown',function(event){ intervalRigth = setInterval(this.name + ".dosomething()",50); }.bind(this));
$('left').observe('mousedown',function(event){ intervalLeft = setInterval(this.name + ".dosomething()",50); }.bind(this));
$('right').observe('mouseup',function(event){ clearInterval(intervalRigth ); }.bind(this));
$('left').observe('mouseup',function(event){ clearInterval(intervalLeft ); }.bind(this));
//所以我想这两个答案都是对的,谢谢。。。我想两者都是正确的我所做的是:
$('right').observe('mousedown',function(event){ intervalRigth = setInterval(this.name + ".dosomething()",50); }.bind(this));
$('left').observe('mousedown',function(event){ intervalLeft = setInterval(this.name + ".dosomething()",50); }.bind(this));
$('right').observe('mouseup',function(event){ clearInterval(intervalRigth ); }.bind(this));
$('left').observe('mouseup',function(event){ clearInterval(intervalLeft ); }.bind(this));
//所以我想这两个答案都是对的,谢谢
var MouseUtils=函数{
"严格使用",;
//变数
var _IsCrolling=假;
var _buttonsArray=[false,false,false,false,false,false];//0左,2右,1中,其他..额外按钮,游戏鼠标
var_mousePressed=false;
//事件侦听器
var_init=函数w,d{
w、 onscroll=函数{
_isScrolling=true;
};
d、 onmousedown=function{
_buttonsArray[e.button]=true;
_鼠标按下=真;
};
d、 onmouseup=function{
_buttonsArray[e.button]=假;
_鼠标按下=错误;
};
d、 oncontextmenu=函数{//这对于向下点击是必需的| ups工作正常
返回false;
};
归还这个;
};
//计时器
var\u scrollInterval=setIntervalfunction{
如果你是克洛林{
_IsCrolling=假;
}
}, 500;
//暴露
var\u isLeftPressed=函数{
返回按钮数组[0];
};
var\u isRightPressed=函数{
返回按钮数组[2];
};
var_isMiddlePressed=函数{
返回按钮数组[1];
};
var_IsCrolling=函数{
返回(即crowling);;
};
var _ClearCrollinterval=函数{
clearInterval\u scrollInterval;
};
返回{
初始化:_init,
isLeftPressed:_isLeftPressed,
isRightPressed:_isRightPressed,
isMiddlePressed:_isMiddlePressed,
IsCrolling:_IsCrolling,
clearScrollInterval:_clearScrollInterval
};
};
MouseUtils.init窗口,文档;
whileMouseUtils.isLeftPressed{
//做点什么
}
var MouseUtils=函数{
"严格使用",;
//变数
var _IsCrolling=假;
var _buttonsArray=[false,false,false,false,false,false];//0左,2右,1中,其他..额外按钮,游戏鼠标
var_mousePressed=false;
//事件侦听器
var_init=函数w,d{
w、 onscroll=函数{
_isScrolling=true;
};
d、 onmousedown=function{
_buttonsArray[e.button]=true;
_鼠标按下=真;
};
d、 onmouseup=function{
_buttonsArray[e.button]=假;
_鼠标按下=错误;
};
d、 oncontextmenu=函数{//这对于向下点击是必需的| ups工作正常
返回false;
};
归还这个;
};
//计时器
var\u scrollInterval=setIntervalfunction{
如果你是克洛林{
_IsCrolling=假;
}
}, 500;
//暴露
var\u isLeftPressed=函数{
返回按钮数组[0];
};
var\u isRightPressed=函数{
返回按钮数组[2];
};
var_isMiddlePressed=函数{
返回按钮数组[1];
};
var_IsCrolling=函数{
返回(即crowling);;
};
var _ClearCrollinterval=函数{
clearInterval\u scrollInterval;
};
返回{
初始化:_init,
isLeftPressed:_isLeftPressed,
isRightPressed:_isRightPressed,
isMiddlePressed:_isMiddlePressed,
IsCrolling:_IsCrolling,
clearScrollInterval:_clearScrollInterval
};
};
MouseUtils.init窗口,文档;
whileMouseUtils.isLeftPressed{
//做点什么
}哈哈,我五年前就做了这个问题,不再使用prototypejs了。但我想还是要谢谢你。顺便说一句,SO do thing for free中的每个人都是免费的,所以你关于免费的评论有点毫无意义:P.Lol,我5年前就做了这个问题,不再使用prototypejs了。但我想还是要谢谢你。顺便说一句,每个人都在做免费的事情,所以你关于自由的评论有点毫无意义。