我有,比如這個:有沒有辦法在jQuery中將一個元素的回調附加到另一個元素上?
$first = $('#firstElement').click(function() { });
但在頁面的執行的某一點上,我將取代另一種元素:
$newElement = jQuery('<div />');
$first.replaceWith($newElement);
但我想保持回調在第二個第一個元素...
這可能嗎?
編輯1
我已經知道如何用.on()
或.delegate()
做到這一點。這是我的場景:
我需要加載一些選擇器更改,但是,該選擇器的內容將根據登錄的用戶的角色而有所不同。我已經將信息存儲在localstorage
中。該選擇器的內容通過以下方式加載:
window.Core.setBranchesSelector($('#theElementInWhichTheSelectorWillBe'));
該函數創建一個<select>
元素。我可以讓js
內該頁面:
$('#parent').on('click', '#theElementInWhichTheSelectorWillBe', function() {});
但我想使該功能儘可能的靈活,因此,如果我做somethink這樣的:
$elementToBeReplaced = $('<coolElement />').click(function() {});
/* Something really cool with that element */
Core.setBranchesSelector($elementToBeReplaced);
的選擇繼承回調click
事件...
我建議你使用事件委託並避免這種情況。 – Nelson
我已經知道如何使用.on()或.delegate()來做到這一點,但我想這樣做......謝謝你的建議:) – Cito