Javascript <;默认值每秒工作一次

Javascript <;默认值每秒工作一次,javascript,jquery,html,Javascript,Jquery,Html,我有一个垃圾箱图标,用户点击它可以从数据库中删除当前元素。如果用户启用了javascript,我想让它与ajax一起工作。页面上有多个项目 不知道为什么,但即使在添加了preventDefault之后,href的工作方式与常规href类似,而不是执行ajax。它触发ajaxrequest而不刷新窗口,只在我点击垃圾桶图标的时候 你知道问题出在哪里吗 $('delete_bulletin')。在('click',函数(e){ console.log('event'); e、 预防默认值(); $

我有一个垃圾箱图标,用户点击它可以从数据库中删除当前元素。如果用户启用了
javascript
,我想让它与
ajax
一起工作。页面上有多个项目

不知道为什么,但即使在添加了
preventDefault
之后,
href
的工作方式与常规
href
类似,而不是执行
ajax
。它触发ajax
request而不刷新窗口,只在我点击垃圾桶图标的时候

你知道问题出在哪里吗

$('delete_bulletin')。在('click',函数(e){
console.log('event');
e、 预防默认值();
$.get($(this.attr('href')).done(
函数(){
重新加载boardcontent();
}
);
})

4.2018年4月14:50
名称

htrhr


4.2018年4月14:49 名称 fdsafdfs


我非常确定(但需要确认)您的
重新加载boardcontent()
正在更新此
所在的
div

如果是这种情况,锚将被替换,事件将不会触发到新创建的锚

解决方案是使用委托事件,这将使其适用于动态添加的元素

改为这样做:

$('#bulletin_board').on('click', '.delete_bulletin', function (e) {
如果您不更换
,我很确定(但需要确认)您的
重新加载BoardContent()
正在更新此
所在的
div

如果是这种情况,锚将被替换,事件将不会触发到新创建的锚

解决方案是使用委托事件,这将使其适用于动态添加的元素

改为这样做:

$('#bulletin_board').on('click', '.delete_bulletin', function (e) {

如果不将
替换为注释,则在HTTP“GET”操作请求时执行类似“delete”的操作只是自找麻烦。您可以将
href=“javascript:void(0)”
设置为
,或者简单地使用
而不是anchor.preventDefault和stopPropagation()这是个棘手的问题——可能只是控制台调用打印出“事件”,这会让事情拖慢足够长的时间,让事情变得不稳定。你能用一个按钮而不是一个链接吗?另外(在编辑之前),我没有看到事件绑定周围的document.ready();但也可以尝试使用委托事件。另外,您有一个匿名函数无缘无故地调用命名函数,只需将命名函数传递给您的done方法即可<代码>$.get($(this.attr('href')).done(重新加载BoardContent)
请注意,当HTTP“GET”操作请求时,使用类似“delete”的操作只是自找麻烦。您可以将
href=“javascript:void(0)”
设置为
,或者简单地使用
而不是锚定。preventDefault和stopPropagation()这是个棘手的问题——可能只是控制台调用打印出“事件”,这会让事情拖慢足够长的时间,让事情变得不稳定。你能用一个按钮而不是一个链接吗?另外(在编辑之前),我没有看到事件绑定周围的document.ready();但也可以尝试使用委托事件。另外,您有一个匿名函数无缘无故地调用命名函数,只需将命名函数传递给您的done方法即可<代码>$.get($(this.attr('href')).done(重新加载BoardContent)