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

3 html javascript jquery

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

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

  • 这是在页面的一般上下文中,而不是特定于textarea或其他文本字段.
  • e.stopPropogation() 不取消文本选择.
  • 我不打算阻止文本选择,而是在一段短时间内否决它们,如果满足某些条件.

Cra*_*cis 5

试试这个:

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

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

    }
}
Run Code Online (Sandbox Code Playgroud)

如果没有,请阅读:

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