firefox上的window.event目标

时间:2012-12-07 14:05:24

标签: javascript events firefox javascript-events d3.js

我有这个代码不适用于firefox:

button.attr("name", i).on("click",function() {
    var e = window.event;
    var target = (e.target) ? e.target: e.srcElement;
            alert(target.name);
});

我认为问题出在事件中,但我不知道如何修复它。

错误信息是:

[14:59:18.721] e is undefined @ http://127.0.0.1:8080/Tesi/javascript/Home.js:4202

提前致谢。

3 个答案:

答案 0 :(得分:1)

为什么不使用参数,例如

button.attr("name", i).on("click",function(e) {
   var target = (e.target) ? e.target: e.srcElement;
        alert(target.name);
});

更多信息

$("#dataTable tbody tr").on("click", function(event){
   alert($(this).text());
});

根据:http://api.jquery.com/on/

答案 1 :(得分:1)

以这种方式附加单击处理程序将导致函数的范围设置为button元素本身。因此,您可以使用jQuery替换整个event.target部分:

$(this).attr('name');

或原始JavaScript:

this.getAttribute('name');

答案 2 :(得分:-1)

您必须将e作为参数传递。

button.attr("name", i).on("click",function(e) {
    var target = (e.target) ? e.target: e.srcElement;
            alert(target.name);
});

列昂