我正在尝试实现一个基于点击并按住的弹出菜单,其位置使得(真正)缓慢的点击仍然会触发默认操作,并且设置了延迟以便文本选择手势通常不会触发菜单。
我似乎无法做的是以一种不会首先阻止文本选择的方式取消文本选择:从事件处理程序返回 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();
}
}
如果没有,请阅读:
关于javascript - 如何在初始 mousedown 事件后取消文本选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/113750/