我正在使用代码创建自定义上下文菜单。然而它的工作在Firefox中存在问题。右键单击选择框/下拉列表或按钮时,它会在Firefox中显示以下错误:
TypeError: this.target is undefined
[Break On This Error] Filtered chrome url chrome://browser/content/nsContextMenu.js
nsContextMenu.js (line 162)
TypeError: gContextMenu is null
以下代码适用于Chrome和Internet Explorer,但在Firefox中出现错误:
$(document).on("contextmenu",function(e){
if($(e.target).prop("tagName")=="A"){
//do something
}
});
请注意,此错误仅在Firefox中发生,到目前为止,右键单击时会显示以下标记。
<select>
<button>
<input type='checkbox'>
然而,文本框工作正常。
编辑:好吧,即使“contextmenu”函数中没有代码,它仍然会出错。
答案 0 :(得分:2)
可以通过禁用Firebug来解决此问题。这是一个与firebug相关的问题,而不是Firefox漏洞。
答案 1 :(得分:1)
尝试将标记名称与DOM
e.target.tagName
对象一起使用
$(document).on("contextmenu",function(e){
if(e.target.tagName =="A"){
//do something
}
});