javascript - 如何在初始 mousedown 事件后取消文本选择?

标签 javascript jquery html

我正在尝试实现一个基于点击并按住的弹出菜单,其位置使得(真正)缓慢的点击仍然会触发默认操作,并且设置了延迟以便文本选择手势通常不会触发菜单。

我似乎无法做的是以一种不会首先阻止文本选择的方式取消文本选择:从事件处理程序返回 false(或调用 $(this). preventDefault()) 会阻止用户进行选择,而明显的 $().trigger('mouseup') 根本不会对选择做任何事情。

  • 这是在页面的一般上下文中,而不是特定于文本区域或其他文本字段。
  • e.stopPropogation() 不会取消文本选择。
  • 我不是要阻止文本选择,而是要在满足特定条件后的短时间内否决它们。

最佳答案

试试这个:

var input = document.getElementById('myInputField');
if (input) {
    input.onmousedown = function(e) {

        if (!e) e = window.event;
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();

    }
}

如果没有,请阅读:

http://www.quirksmode.org/js/introevents.html

关于javascript - 如何在初始 mousedown 事件后取消文本选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/113750/

相关文章:

javascript - 在 HTML CSS Javascript Angular JS 中以固定宽度水平滚动

javascript - 如何使用 jQuery 合并两个 json 对象?

html - 禁用抗锯齿 Safari

javascript - 根据外部 CSV 数据创建动态网页

javascript - Meteor:使用reactiveVar观察集合

javascript - 如果跨度中显示特定文本(价格 0),则隐藏元素

javascript - 在主页上将类添加到正文

javascript - 如何使用jquery获取元素后的同级文本?

javascript - Ajax 链接也可以在新选项卡中打开吗? (如 Facebook )

php - dompdf 错误无法解决这个问题