-2

我正在使用代码来创建自定义上下文菜单。它的工作但是在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”函数中没有代码,它仍然会给出错误。

更新:这似乎是 Firefox 中的一个 Firebug 问题,因为使用 Firefox 的开发人员工具 javascript 控制台没有出现错误。

4

2 回答 2

2

这个问题可以通过禁用 Firebug 来解决。这是一个与萤火虫相关的问题,而不是 Firefox 本身的错误。

于 2013-02-02T08:13:51.990 回答
1

尝试将标签名称与DOM这样的对象一起使用e.target.tagName

$(document).on("contextmenu",function(e){
        if(e.target.tagName =="A"){
         //do something
        }
});
于 2013-02-01T17:30:47.810 回答