我有以下代码:
$("#another").click(function() {
$('#another').replaceWith('<a id="another" class="btn btn-primary btn-mini disabled"><i class="icon-refresh icon-white"></i> Loading...</a>');
$.get('another.php', { 'cycle' : i }, function(data) {
$('tbody').append(data);
$("#another").replaceWith('<a id="another" class="btn btn-primary btn-mini"><i class="icon-plus icon-white"></i> Load another cycle</a>');
});
i++;
});
当我单击具有另一个ID的元素时,它将加载一次。一键单击后,它将不再起作用。
最佳答案
如果将元素替换为另一个元素,则将删除所有侦听器。为了避免这种情况,您可以将侦听器再次添加到新元素
$('#another').bind('click', function() {
//do something
});
或将代码移至函数并在元素中添加
onclick
属性。onclick="my_function();"
在您当前的javascript中,
$('#another').replaceWith('<a id="another" class="btn btn-primary btn-mini disabled" onclick="my_function();"><i class="icon-refresh icon-white"></i> Loading...</a>');