这是我的代码:
$(文档).ready(function(){
//这些变量用于加载更多帖子
var create_ptr = 1
var attend_ptr = 1
varapprove_ptr = 1
var 相同的标志 = "{{ 相同的标志 }}"
//这些是确认性对话
$('a.deletebutton').click(function(e){
if(!confirm("你真的要删除吗?")){
e.preventDefault();
}
});
$('.cancel').click(函数(e){
if(!confirm("您真的要取消吗?")){
e.preventDefault();
}
});
//Ajax 加载更多帖子
//Ajax加载创建的 war
$('#load_created').click(function(){
$.ajax({
url:"/wars/loadcreated/",
类型:'POST',
数据类型:'json',
数据: {
poi:create_ptr,
用户:{{ user_req.id }},
csrfmiddlewaretoken: '{{ csrf_token }}',
},
成功:函数(响应){
//警报(响应);
标签=“div”+create_ptr;
var 映射 = 响应;
$.each( map ,函数(k,v){
//警报(k+":"+v);
如果(相同的标志==“真”){
文本=“”;
}别的{
文本 = "”;
}
$('div#created div#wars').append(text);
$('div#created div#wars').append('');
$('div#created div#wars').append('
');
$('div#created div#wars').append('');
});
创建_ptr++;
}
});
});
);
但是当我按下“a.deletebutton”时,没有出现确认对话框。它只是继续并从数据库中删除我的数据。似乎“a.deletebutton”的javascript单击事件不起作用。有什么想法吗?
最佳答案
因为它是动态生成的..您需要将事件委托(delegate)给它
$('body').delegate('a.deletebutton','click',function(e){
if(!confirm("Do you really want to delete it?")){
e.preventDefault();
}
});
关于Javascript:为什么 ".deletebutton"的点击事件没有触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11305010/