我在一些项目中使用jQuery添加新元素时,遇到了一个有点繁琐的问题。
请考虑以下内容:
$('span.claim').click(function() {
$(this).parent().html('<span class="unclaim">Unclaim</span>'):
});
$('span.unclaim').click(function() {
$(this).parent().html('<span class="claim">Claim</span>'):
});
以下是相关标记...
而以下标记...
<ul>
<li><span class="claim">Claim</span></li>
<li><span class="unclaim">Unclaim</span></li>
<li><span class="claim">Claim</span></li>
<li><span class="unclaim">Unclaim</span></li>
</ul>
很遗憾,在触发初始事件后,没有处理任何后续事件。
我意识到我可以完全重构并使用.bind()
函数,但由于我的项目的复杂性,这并不是非常可行的。
在创建新元素后,如何重新绑定事件而不放弃我的匿名函数,或者是否可能?