使用
将PHP脚本拉入我的页面时$.ajax({
url: "/assets/inc/user-stream-list.php",
success: function (data) {
$(".user-stream-list").html(data);
}
});
它生成<a>
,我目前使用
$('.col-l .feed a').click(function(e){
e.preventDefault();
});
要停止点击链接,但在运行.ajax()
脚本后链接变为可点击。
有没有办法防止链接在ajax运行后被点击?
答案 0 :(得分:3)
将click
事件委托给在AJAX调用之前存在的DOM上方的元素。
例如:
$(document).on('click', '.col-l .feed a', function(e){
e.preventDefault();
});
请注意带有三个参数的.on()
方法如何将事件委托给document
元素,而不是将其直接绑定到尚未存在的a
元素。当然,document
与DOM树一样高。但只要你知道它们存在,就可以使用更近的父母。
答案 1 :(得分:2)
由于HTML是通过AJAX加载的,如果要将事件绑定到它,则需要使用on
将它们绑定到父级,并在其上设置过滤器。
$(".user-stream-list").on('click', '.col-l .feed a', function() {
...
});
编辑:live
已弃用。请改用on
。
答案 2 :(得分:-1)
使用带有加载图标的叠加div,以防止来自任何元素的点击事件...
这里有一个例子: jQuery: How can i create a simple overlay?
检查另一个例子: How can I create a "Please Wait, Loading..." animation using jQuery?