📅  最后修改于: 2023-12-03 15:11:24.729000             🧑  作者: Mango
当用户在 Chrome 浏览器上长按某个元素时会触发默认的上下文菜单。然而,有时候我们需要禁用这个功能,例如在一个 Web 应用程序中,当用户长按某个按钮时不希望触发默认的上下文菜单。
我们可以使用 JavaScript 来轻松地禁用 Chrome 上的长按事件,下面是具体的代码实现。
window.oncontextmenu = function(event) {
event.preventDefault();
event.stopPropagation();
return false;
};
上面的代码会覆盖默认的 contextmenu
事件,并阻止浏览器上下文菜单的出现。这个代码适用于整个文档,也就是禁用了所有元素的上下文菜单。
如果你只希望禁用某个具体元素的上下文菜单,可以使用以下代码:
var element = document.getElementById("myElement");
element.addEventListener("contextmenu", function(event) {
event.preventDefault();
event.stopPropagation();
return false;
});
上面的代码为 myElement
元素绑定了 contextmenu
事件,并禁用了默认的上下文菜单。
event.preventDefault()
阻止了默认事件的发生,也就是浏览器上下文菜单的出现。event.stopPropagation()
阻止了事件冒泡,也就是阻止了上下文菜单的出现。通过以上方法,我们可以轻松地禁用 Chrome 浏览器上长按事件的默认行为。如果你需要禁用其他浏览器的长按事件,则需要针对各自的浏览器实现不同的代码。