我需要將焦點設置爲可排序列表的輸入和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 ..編輯帖子 –