我想在用户按下2 secondsdiv 时执行某些功能.
可能吗 ?
这是我的代码,用于检测div上的点击
$('div').mousedown(function() {
});
Run Code Online (Sandbox Code Playgroud)
use*_*654 33
添加一个仅允许在mousedown 2秒后发生点击的油门.
var timer;
$('div').on("mousedown",function(){
timer = setTimeout(function(){
alert("WORKY");
},2*1000);
}).on("mouseup mouseleave",function(){
clearTimeout(timer);
});
Run Code Online (Sandbox Code Playgroud)
编辑:我也添加了mouseleave,因为如果鼠标离开元素然后触发mouseup,它将不会停止计时器.
bul*_*ley 27
只需观察两者mousedown并mouseup计算差异.这是一个例子.
(function() {
// how many milliseconds is a long press?
var longpress = 3000;
// holds the start time
var start;
jQuery( "#pressme" ).on( 'mousedown', function( e ) {
start = new Date().getTime();
} );
jQuery( "#pressme" ).on( 'mouseleave', function( e ) {
start = 0;
} );
jQuery( "#pressme" ).on( 'mouseup', function( e ) {
if ( new Date().getTime() >= ( start + longpress ) ) {
alert('long press!');
} else {
alert('short press!');
}
} );
}());
Run Code Online (Sandbox Code Playgroud)