0

我有这段代码不适用于 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 未定义@http‍://127.0.0.1:8080/Tesi/javascript/Home.js:4202

4

3 回答 3

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/

于 2012-12-07T14:10:39.303 回答
1

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

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

或原始 JavaScript:

this.getAttribute('name');
于 2012-12-07T14:26:09.143 回答
-1

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

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

莱昂

于 2012-12-07T14:09:15.633 回答