Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用上下文菜单在Firefox中单击鼠标右键时未定义目标_Javascript_Jquery_Firefox - Fatal编程技术网

Javascript 使用上下文菜单在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

我正在使用代码创建自定义上下文菜单。但是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
$(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开发工具,则不会报告任何错误。这会产生与我以前使用的代码相同的错误。