gpt4 book ai didi

javascript - 处理右键单击事件后不显示上下文菜单

转载 作者:行者123 更新时间:2023-11-30 17:50:47 25 4
gpt4 key购买 nike

我想处理特定 div 元素上的右键单击事件。在研究了 stackoverflow 中的一些答案后,我想到了这个:

 $('#mydiv').mousedown(function(event) {
if ((event.which == 3)&& (event.target.nodeName == 'SPAN')){
$("#outpdiv").append($(event.target).text().concat(" , "));
event.preventDefault();
}
});

如您所见,我试图将 mydiv 内的 span 元素的内容附加到另一个 div 元素 outpdiv。这工作正常,但问题是右键单击后,显示了上下文菜单。显然,event.preventDefault() 不起作用。我怎样才能解决这个问题,以便在您右键单击后不显示上下文菜单?

最佳答案

try catch contextmenu 事件并在该处理程序中调用 preventDefault():

http://jsfiddle.net/cTp9x/

$('#mydiv').mousedown(function (event) {
if ((event.which == 3) && (event.target.nodeName == 'SPAN')) {
$("#outpdiv").append($(event.target).text().concat(" , "));
}
});

$(document).on('contextmenu', function(e) {
e.preventDefault();
});

回应您的评论。如果您只想在单击该特定 div 时禁用上下文菜单,则可以将处理程序绑定(bind)到它。在 jQuery 和 native 事件处理程序之间切换很麻烦,IMO:

$('#mydiv').on('contextmenu', function(e) {
e.preventDefault();
});

关于javascript - 处理右键单击事件后不显示上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19099875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com