onmousedown事件停止输入焦点
onmousedown event stopping input focus
我正在处理mousedown&oncontextmenu事件来阻止文本&图像选择,右键单击并拖动。代码如下-
<body oncontextmenu="return false;" onmousedown="event.preventDefault ? event.preventDefault() : event.returnValue = false">
<input type="text" name="testInput" id="testInput">
</body>
我想问题是它也阻止了对输入元素的关注,就像我阻止默认&onmousedown事件返回false,所以它不允许控件切换到输入焦点,所以我不能在其中键入任何内容。我试图通过以下代码对其进行调试。
<script type="text/javascript">
$(function(){
$( "#testInput" ).on("focus",function(){
console.log("input focused");
});
});
</script>
当我从body中删除onmousedown属性时,它在cosole上给了我想要的消息。
有什么帮助吗。。。提前谢谢。
您可以检查mousedown/contextmenu事件是否发生在任何内部元素上,如果是,则允许默认操作,如果不是,则使用下面的阻止默认操作
document.getElementsByTagName("div")[0].addEventListener("mousedown",function(e){
if(e.target.id=="testInput"){
} else{
e.preventDefault();
}
});
document.getElementsByTagName("div")[0].addEventListener("contextmenu",function(e){
if(e.target.id=="testInput"){
} else{
e.preventDefault();
}
});
检查Fiddle
相关文章:
- 在IE9中的输入字段中输入焦点最近按钮
- 那里的维基媒体代码是如何输入焦点的
- 无法通过 JavaScript 在输入焦点上触发键盘
- 输入焦点关闭键盘,需要长时间触摸
- jQuery-滚动到某个元素时自动输入焦点
- 输入:焦点只工作一次
- 输入焦点取决于更大的父元素与 jQuery
- 如何定位单个输入焦点
- 关闭输入焦点上的滑动菜单
- 输入焦点字段,然后在页面加载时添加类
- 无法使用 keyUp 更改表内的输入焦点
- 如何在设备定向时丢失输入焦点
- Phonegap Android 在输入焦点 Javascript 上显示键盘
- 在 CkEditor 中输入焦点
- 如何使用js更改平板电脑上的输入焦点
- 在输入焦点时隐藏ios设备上的键盘
- 当鼠标悬停在其他元素上时,如何删除和重新设置输入焦点
- onmousedown事件停止输入焦点
- ngTags输入焦点自动完成
- 使用jQuery验证器禁用自动输入焦点