我想禁用我页面上的上下文菜单,因为我有自己的。但在文本框中应该可以使用系统上下文菜单。
我是这样用 Javascript 做的:
document.oncontextmenu = function (e) {
return false;
};
我想过类似的事情:
document.oncontextmenu = function (e) {
if (e.taget.nodeName != "text") {
return false;
}
};
但是节点名每次都是一个DIV。 在这个 DIV 中,我有一个 JQGrid,其中包含文本框。
<div id="divGrdPos" style="padding:3px,0px,3px,0px;">
<table id="JQGridCart" class="grdCart"></table>
</div>
有人可以帮助我吗?
最佳答案
你需要这样的东西:
document.addEventListener('contextmenu', function (event) {
if (event.target.nodeName !== 'INPUT' && event.target.type !== 'text' && event.target.nodeName !== 'TEXTAREA') {
event.preventDefault();
}
});
它将适用于输入 (type="text") 和文本区域。
Jsfiddle:http://jsfiddle.net/QjmHy/
关于javascript - 禁用上下文菜单但不在文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12968902/