gpt4 book ai didi

objective-c - 禁用 WebView 上的右键菜单

转载 作者:行者123 更新时间:2023-12-03 16:51:15 27 4
gpt4 key购买 nike

嗯,这正是我需要做的:

当用户右键单击WebView时,典型的菜单(没有“重新加载”等)应该不会显示。

如何做到这一点?有什么想法吗?

<小时/>

P.S. 另外:是否可以显示自定义菜单?

最佳答案

用html阻止上下文菜单很简单:

<body oncontextmenu="return false;">

或使用 javascript (jquery):

$(document).bind(“contextmenu”, function (e) {
e.preventDefault();
});

或者,如果您想使用 javascript 显示自定义 html 上下文菜单...

HTML:

<div id="context-menu">                        
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
</ul>
</div>
<div id="op">Right click anywhere!</div>

CSS:

#context-menu {
display: none;
position: fixed;
border: 1px solid #ddd;
background: white;
box-shadow: 2px 2px 1px grey;
}
#context-menu ul {
list-style: none;
padding: 0;
margin: 0;
}
#context-menu li {
width:150px;
padding: 5px 8px;
}
#context-menu li:hover {
background:#eaeaea;
cursor:pointer;
}

JS:

function startFocusOut() {
$(document).on("click", function () {
$("#context-menu").fadeOut(20); // To hide the context menu
$(document).off("click");
});
}
$(function(){
$(document).bind("contextmenu", function (e) {
e.preventDefault(); // To prevent the default context menu.
$("#context-menu").css("left", e.pageX); // position with cursor
$("#context-menu").css("top", e.pageY);
$("#context-menu").fadeIn(20, startFocusOut()); // show the menu
});
$("#context-menu li").click(function () {
$("#op").text("You have selected " + $(this).text()); // Performing the selected function.
});
});

Jsfiddle:http://jsfiddle.net/VRy93/

关于objective-c - 禁用 WebView 上的右键菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18398058/

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