javascript - Jquery点击事件但不按住/标记文本事件

标签 javascript jquery

我有一个可以在点击时展开/收缩的表格。它工作得很好,但是有一个问题,有时用户可能想要复制表格中的文本,因此他们的行收缩(点击时)

是否有某种方法可以避免点击时触发事件,但按住鼠标和/或标记文本则不会触发事件?

示例页面: http://resihop.nu/search?from=&to=&when=&got_car=1&code=

如果您能提供一个示例,我将非常感激,我不太习惯 javascript。 :)

最佳答案

创建事件mouseup - 而不是click。您还可以检查 mousedownmouseup 之间的时间长度来决定是否应该处理点击。


类似于 this应该可以解决这个问题:

var lastMouseUp = 0, lastMouseDown = 0;
$('tr').bind('mouseup mousedown', function(e){
    var ms = new Date().getTime();
    e.type == 'mousedown' ? lastMouseDown = ms : lastMouseUp = ms;   

    if(e.type != 'mousedown' && (Math.abs(lastMouseUp - lastMouseDown)  < 300))
        console.log(Math.abs(lastMouseUp - lastMouseDown) + ' process click') // valid click
});

关于javascript - Jquery点击事件但不按住/标记文本事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4455416/

相关文章:

javascript - 如何为文本提供 readmore?

javascript - OpenLayers、Mapserver 和 Tilecache

javascript - 使用代码中的模板实例化 WinJS.UI.ListView 时出错

javascript - 有没有内置的方法来反向使用 JQuery 的 .each() ?

jquery - 隐藏输入类型单选按钮并显示标签时,如何使用箭头键在单选按钮之间导航?

javascript - 使用 JQuery 检查 url 是否包含字符串

jquery - 在 jQuery 中插入容器 div

javascript - 从 Controller 访问 ng-model 未定义

javascript - map 未加载到 HTML 页面

javascript - 如何检测具有相同 ID 的已单击 div 文本