注册 登录
编程论坛 JavaScript论坛

an cc h5 如何获取当前点击元件实例名?

e代农夫 发布于 2020-09-02 09:25, 1566 次点击
AS3
var obj: Object = event.currentTarget;
trace(obj.name);//点击按钮“btn”,输出“btn”
是可行的。
H5
var obj = event.currentTarget;
alert(obj.name);//无输出
2 回复
#2
e代农夫2020-09-02 16:49
通过回调函数,能实现功能
this["btn"].addEventListener('click', function () {});

this["btn"].addEventListener('click', function (e) {
    alert(e.target.name);//点击按钮“btn”,输出“btn”
});

当按钮较多时,这个方法很麻烦。

[此贴子已经被作者于2020-9-2 16:52编辑过]

#3
e代农夫2020-09-02 17:11
我有62个按钮,通过遍历

for (var i = 1; i < 63;i++) {
    this["btn" + i].addEventListener('click', function () {});
};

this["btn" + 1].addEventListener('click', function (e) {
    alert(e.target.name);//点击按钮“btn1”,输出“btn1”
});
        
this["btn" + 2].addEventListener('click', function (e) {
    alert(e.target.name);//点击按钮“btn2”,输出“btn2”
});

this["btn" + 3].addEventListener('click', function (e) {
    alert(e.target.name);//点击按钮“btn3”,输出“btn3”
});
......
......
这样是正常的,能获取点击的按钮名称。

改一下:
遍历1
for (var i = 1; i < 63;i++) {
    this["btn" + i].addEventListener('click', function () {});
};
遍历2
for (var j = 1;j < 63; j++) {
    this["btn" + j].addEventListener('click', function (e) {
        alert(e.target.name);
    });
};
不能正常获取,请大神们给看一下,厉遍1正常,厉遍2不正常,问题出在那?

[此贴子已经被作者于2020-9-2 20:19编辑过]

1