neo*_*Dev 5 jquery double-click
这段代码的目的是创建一个高性能click和double click动作,
但它实际上非常糟糕......它的性能不是很高,所以我想知道更好的方法来做到这一点
通过这种方式,我完全失去了单击的敏感性,现在它只是延迟了,
并且双击不是很精彩..
var DELAY = 150, clicks = 0, timer = null;
$(function(){
$('button').on("click", function(e){
clicks++;
if(clicks === 1) {
timer = setTimeout(function() {
$('button').html("Single Click");
clicks = 0;
}, DELAY);
} else {
clearTimeout(timer);
$('button').html("Double Click");
clicks = 0;
}
})
.on("dblclick", function(e){
e.preventDefault();
});
});Run Code Online (Sandbox Code Playgroud)
button {
padding: 10px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button>click Me</button>Run Code Online (Sandbox Code Playgroud)
你所拥有的很棒,我想说,就逻辑而言,没有真正的方法可以改进它。唯一的办法就是加长,delay这样更容易接近。老年人有时点击鼠标速度较慢...:P
您的延迟: http: //jsfiddle.net/0928paqh/1/
较长的延迟: http: //jsfiddle.net/0928paqh/2/
对于速度较慢的用户来说足够长,但又不足以让任何人感到烦恼。
| 归档时间: |
|
| 查看次数: |
504 次 |
| 最近记录: |