【发布时间】:2013-04-24 00:50:27
【问题描述】:
我编写了一些代码,允许我在右键单击复选框时禁用/启用复选框。它适用于 IE,但不适用于 Chrome 或 Firefox。
rightClickFunc: function (e)
{
var obj;
if ($.browser.msie) obj = event.srcElement;
else obj = e.target;
stuff.disableEnableObject(obj);
return false;
},
disableEnableObject: function (o)
{
if (o.getAttribute("disabled") == null)
$('#'+o.id).attr("disabled", "disabled");
else $('#'+o.id).removeAttr("disabled");
}
如何在 Chrome 中获得与 IE 相同的功能? 问题似乎是右键单击 chrome 中的禁用项目确实会打开上下文菜单(右键菜单)。
我制作了一个代码示例 - 请参阅 http://jsfiddle.net/e72M6/。在 IE 和 chrome 中运行它以查看差异。 (IE 可以启用这些框,Chrome 不能)。
我希望其他浏览器具有与 IE 相同的功能。因此可以启用这些框。
【问题讨论】:
-
这将是很多工作,但从技术上讲,当您禁用该元素时,您可以在其顶部堆叠一个透明元素(因此用户看不到它),相同的大小/形状,并收听
click事件。启用后,隐藏/删除堆叠元素 -
+1 提出带有小提琴和初步研究的良好问题!
-
@Ian 我想你的意思是“透明元素”?
-
另请注意,此代码禁用页面上每个项目的上下文菜单。
-
@ben336 是的,我想是的。哈哈我改了,谢谢
标签: javascript jquery right-click