bfr*_*itz 11 jquery events click
听起来很容易吧?但我正在使用自定义滚动控件(http://github.com/inuyaksa/jquery.nicescroll),我尝试了大多数使用draggable()时防止这种情况的技巧.但他们没有为此工作...我在这里上传了页面和代码:
演示:http://www.beforethecode.net/blazin 来源:http://www.beforethecode.net/blazin/blazin.zip
这是一个触摸屏项目.到目前为止,我唯一的解决方案是将$ thumbs绑定到'dblclick',以便在拖动鼠标/手指后停止触发......但是我真的希望在滚动停止后单击一下就可以使用它.
您最好的选择将是类似于有多少自动完成工作取消本机事件的解决方案,而是使用超时和标志仅在所需的情况下执行操作:
event.preventDefault()相关控件、标签等上的“单击”事件<a />(即不要让任何与触发单击相关的本机浏览器行为发生)。setTimeout并保存超时句柄。代码:
var clickActionTimeout = null;
function clearClickActionTimeout() {
if(clickActionTimeout) {
clearTimeout(clickActionTimeout);
clickActionTimeout = null;
}
}
$elem.click(function(e) {
e.preventDefault();
clearClickActionTimeout();
clickActionTimeout = setTimeout(function() {
// This was a real click if we got here...
openPicture();
}, 200);
});
$elem.bind('stopdrag', function() {
clearClickActionTimeout();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7842 次 |
| 最近记录: |