我在JQuery中使用自动完成功能。右键单击时,它会在自动完成中显示与左键单击相同的数据。如何禁用右键单击它?我的意思是当我右键单击它时,它什么也没做。
答案 0 :(得分:0)
可能最可靠的是为元素而不是烦人的人点击事物:)
<div oncontextmenu="return false">
</div>
但话虽如此,如果您使用的是jQuery ui自动完成功能,右键单击实际上不会触发右键单击,因此您可以查看它!
答案 1 :(得分:0)
我不确定我理解你的问题。但也许是这样 -
<input id="myInput" onclick="maybeStopAutocomplete()" onblur="enableAutocomplete()"/>
js -
function maybeStopAutocomplete(evt) {
if(evt.which === 3) {
myInput.setAttribute("autocomplete", "false");
}
}
function enableAutocomplete() {
myInput.setAttribute("autocomplete", "true");
}
呀?
答案 2 :(得分:0)
因此,使用jqueryui docs for autocomplete和another question from SO,您获得的this fiddle似乎甚至无法记录右键点击或中间点击。所以......是吗?
Le html:
<input id='box' type='text'>
javascript:
$(function() {
var $input = $('#box');
var availableTags = [
"ActionScript",
"AppleScript",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$input.autocomplete({
source: availableTags
,select: function(event, ui) {
var origin = event.originalEvent.originalEvent;
return false;
if(origin.type == 'click') {
switch(origin.which) {
case 1: // left. here for show
break;
case 2: // middle
case 3: // right
return false;
break;
}
}
}
});
});
包括jquery 1.10.2和jqueryui 1.10.2以使小提琴上班
答案 3 :(得分:0)
也许这就是你想要的。试试这个
<script language="javascript">
document.onmousedown=disableclick;
status="Right Click Disabled";
Function disableclick(e)
{
if(event.button==2)
{
alert(status);
return false;
}
}
</script>
但是在此解决方案中,如果单击右键单击它将显示该消息 “右键单击禁用”。
如果我们要删除messegebox,则此解决方案无效。
我有另一个简单的解决方案来实现相同的结果,也没有显示messegebox。
在这个方法中,我们在页面的正文部分设置oncontextmenu =“return false” 所以身体部位看起来像
<body oncontextmenu="return false">
...
</body>
因此,每当用户点击鼠标右键时,就不会发生任何事情,也没有消息没有上下文菜单。
有时可能需要禁用对特定控件的右键单击以实现此操作,我们必须遵循这些步骤。 1.删除正文中添加的代码(即oncontextmenu =“return false”) 2.添加一个表,并在其行中添加控件,例如数据网格控件 3.将oncontextmenu =“return false”放入该控件
中所以代码看起来像这样
<Body>
<Table>
<tr oncontextmenu="return false">
<td>
<asp:datagrid id="dgGrid1">---</asp:datagrid>
因此,通过此方法,可以禁用右键单击右键单击上下文菜单。
我希望它有所帮助。