1
我有一个按钮,这样的jQuery/JavaScript的替换功能只能使用一次
<button id="toggle_photo">
<span id="photo_text">Hide Photos (1)</span>
<img class="icon" alt="Photos" src="/img/photos-16.png">
</button>
和jQuery/JavaScript广告在点击
$('#toggle_photo').click(function(){
var text = $('#photo_text').text();
$('#photo_text').text(
text.match(/Hide Photos/) ? text.replace("Hide", "Show") : text.replace("Show", "Hide"));
$('.photo_frame').toggle('slow');
});
这工作第一次点击按钮来更改文本并且按钮文本从Hide Photo (1)
更改为Show Photo (1)
。接下来,该按钮HTML通过AJAX调用替换为新的文本,新的内容是相同的,除了可能的算的,所以它可能显示这个代替
<button id="toggle_photo">
<span id="photo_text">Hide Photos (3)</span>
<img class="icon" alt="Photos" src="/img/photos-16.png">
</button>
不过,这一次的元素没有触发点击事件,为什么?
感谢您的提示,我没有意识到“活”或“委托”方法,很好知道。实际上,整个按钮的内容被替换了,不仅仅是' Bob
只有内容或者按钮本身吗? –
按钮本身也是。我试图让'delegate'语法工作正确地说,点击事件现在不会触发,这就是我所拥有的'$('#toggle_photo')。委托('按钮','点击',功能(){...' – Bob