我有一个简单的功能:
$(".slider").click(function () { $(this).after('<span class="slider">click me again</span>'); }); //before first click <span class="slider">first click</span> //after first click <span class="slider">first click</span> <span class="slider">click me again</span>
当我单击“再次单击我”时,功能不会触发。
我尝试过、现场直播以及其他一些方法,但都无济于事。
我做错了什么?
最佳答案
使用.live()
, .delegate()
或.on()
(jQuery 1.7)绑定(bind)事件:
$(document).on("click", ".slider", function () {
...
.click( ... )
是 .bind('click', ...)
的缩写,它仅将事件绑定(bind)到当时存在的元素。稍后添加的元素不会接收此事件监听器。
关于jquery after() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9422302/