将事件附加到另一个函数

时间:2017-03-02 14:09:48

标签: javascript events parameter-passing

在我的代码中,我有一个按钮,单击时会显示一个div。在这个div中,我希望有单独的键盘导航。但是当用户按下“标签”时,焦点将返回打开它的按钮。所以我想做的是:

function showMydiv(item) {

.......

$('div#myDiv').on('keydown','a', {item:item}, function(event){
......
if (event.which == 9) {
event.data.item.focus();
}
} ); 

}

问题是该项始终是第一个单击的按钮。每次我附加这个处理程序时,如何才能使它成为打开div的按钮?将attach事件放在这个函数中是否正确,这将被多次调用?

1 个答案:

答案 0 :(得分:0)

解决方案是分离并附加我传递的每个新项目的'keydown'事件作为参数。我的错误是我只附加了一次。