我有,例如:
$first = $('#firstElement').click(function() { });
但是在页面执行的某个时刻,我将用另一个元素替换该元素:
$newElement = jQuery('<div />');
$first.replaceWith($newElement);
但我想将第一个元素的回调保留在第二个元素中......
那可能吗?
编辑 1
我已经知道如何使用.on()
or来做到这一点.delegate()
。这是我的场景:
一旦选择器更改,我需要加载一些内容,但是,该选择器的内容将根据登录用户的角色而有所不同。我已经将信息存储在localstorage
. 该选择器的内容通过以下方式加载:
window.Core.setBranchesSelector($('#theElementInWhichTheSelectorWillBe'));
该函数创建一个<select>
元素。我可以在js
该页面内进行:
$('#parent').on('click', '#theElementInWhichTheSelectorWillBe', function() {});
但我想让该功能尽可能灵活,因此,如果我做出如下想法:
$elementToBeReplaced = $('<coolElement />').click(function() {});
/* Something really cool with that element */
Core.setBranchesSelector($elementToBeReplaced);
选择器继承click
事件的回调...