我需要将焦点设置为可排序列表的输入和textarea元素。
这是我的代码(1)。避免重复听众
a)当我加载列表时,它工作正常,因为它为每个输入添加一个侦听器。
b)当我添加一个新元素到列表中时,它会复制监听器。
应该如何避免这种情况?
也许试图使用事件代表团身上的单个监听器? 任何想法?
感谢
(1)
setTimeout(function() {
var setFocus = function() {
$('.ui-sortable').find('input, textarea').click(function() {
$(this).focus();
});
};
$('.ui-sortable').on('DOMNodeInserted', setFocus);
setFocus();
}, 0);
难道你不想使用'off'而不是'unbind'?或者至少将某些东西传递给“解绑”? – Ian
不通过将删除所有与它相关的事件。如果我们想要,我们可以传递一个特定的事件。在这种情况下,DOMNodeInserted ..编辑帖子 –