Javascript 使用上下文菜单在Firefox中单击鼠标右键时未定义目标
我正在使用代码创建自定义上下文菜单。但是Firefox中存在一个问题。右键单击选择框/下拉列表或按钮时,在Firefox中会出现以下错误:Javascript 使用上下文菜单在Firefox中单击鼠标右键时未定义目标,javascript,jquery,firefox,Javascript,Jquery,Firefox,我正在使用代码创建自定义上下文菜单。但是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 nul
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
$(document).on("contextmenu",function(e){
if($(e.target).prop("tagName")=="A"){
//do something
}
});
以下代码适用于Chrome和Internet Explorer,但在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
$(document).on("contextmenu",function(e){
if($(e.target).prop("tagName")=="A"){
//do something
}
});
请注意,到目前为止,只有在右键单击以下标记时,Firefox才会出现此错误
<select>
<button>
<input type='checkbox'>
但是,文本框工作正常
编辑:好,看起来即使“contextmenu”函数中没有代码,它仍然会给出错误
更新:这似乎是Firefox中的一个Firebug问题,因为使用Firefox的开发者工具javascript控制台不会出现错误。尝试将标记名与
DOM
对象一起使用,如e.target.tagName
$(document).on("contextmenu",function(e){
if(e.target.tagName =="A"){
//do something
}
});
这个问题可以通过禁用Firebug来解决。这是一个与firebug相关的问题,而不是Firefox bug本身。这看起来确实是正确的代码,你能仔细检查一下吗?我没有在你的代码中看到这一点。。162号线是哪条线?我猜你有
这个。target
它应该在哪里e.target
。我修复了这个错误,但仍然是相同的错误。好吧,看起来即使“contextmenu”函数中没有代码,它仍然会给出错误。。您必须发布抛出的代码。找出抛出错误的文件和行,然后发布代码。我想我已经解决了这个问题。这似乎是一个Firebug问题,仅在FF中存在。如果我关闭并使用Web开发工具,则不会报告任何错误。这会产生与我以前使用的代码相同的错误。