Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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
Tianium Javascript:如何创建动态事件监听器?_Javascript_Arrays_Reference_Titanium_Addeventlistener - Fatal编程技术网

Tianium Javascript:如何创建动态事件监听器?

Tianium Javascript:如何创建动态事件监听器?,javascript,arrays,reference,titanium,addeventlistener,Javascript,Arrays,Reference,Titanium,Addeventlistener,我有一个按钮数组,我想为每个按钮添加一个eventListener 在eventListener中,我想检索当前正在按下的按钮的宽度值。我该怎么做 for (i=0; i<5; i++) { button[i].addEventListener(click, function(e) { alert(/*How should I refer to THAT button*/) }) } 在事件侦听器中,您可以使用此按钮引用当前按钮: for (var i=0; i<5; i++) {

我有一个按钮数组,我想为每个按钮添加一个eventListener

在eventListener中,我想检索当前正在按下的按钮的宽度值。我该怎么做

for (i=0; i<5; i++) {
button[i].addEventListener(click, function(e) {
alert(/*How should I refer to THAT button*/)
})
}

在事件侦听器中,您可以使用此按钮引用当前按钮:

for (var i=0; i<5; i++) {
    button[i].addEventListener('click', function(e) {
        alert( this ); // <-- This inside the event listener = current button
    });
}
另一种方法是将循环体包装在闭包中,并创建局部变量:

for (var i=0; i<5; i++) {
    (function(button) { // <--- Local variable
        button.addEventListener('click', function(e) {
            alert( button );
        });
    })(button[i]);      // <-- Pass button
}
除了在每个循环中构造新函数外,还可以在循环外创建命名函数:

function createButtonEvent(button) {
    button.addEventListener('click', function(e) {
        alert( button );
    });
}
for (var i=0; i<5; i++) {
    createButtonEvent(button[i]);
}

在事件侦听器中,您可以使用此按钮引用当前按钮:

for (var i=0; i<5; i++) {
    button[i].addEventListener('click', function(e) {
        alert( this ); // <-- This inside the event listener = current button
    });
}
另一种方法是将循环体包装在闭包中,并创建局部变量:

for (var i=0; i<5; i++) {
    (function(button) { // <--- Local variable
        button.addEventListener('click', function(e) {
            alert( button );
        });
    })(button[i]);      // <-- Pass button
}
除了在每个循环中构造新函数外,还可以在循环外创建命名函数:

function createButtonEvent(button) {
    button.addEventListener('click', function(e) {
        alert( button );
    });
}
for (var i=0; i<5; i++) {
    createButtonEvent(button[i]);
}

哪种方法最类似于爪哇、C++、Objic C、Perl、Python中的函数格式?哪种方法最类似于爪哇、C++、Objic C、Perl、Phython的函数格式?