Javascript jQuery函数没有';加载动态内容后无法工作
我正在使用下面的代码。这是bootstrap 3删除确认消息Javascript jQuery函数没有';加载动态内容后无法工作,javascript,jquery,ajax,twitter-bootstrap,Javascript,Jquery,Ajax,Twitter Bootstrap,我正在使用下面的代码。这是bootstrap 3删除确认消息 $(document).ready(function(){ $('a.btnDelete').on('click', function (e) { e.preventDefault(); var id = $(this).closest('div').data('id'); $('#myModal').data('id', id).modal('show'); }); $('#btnDelteYes').c
$(document).ready(function(){
$('a.btnDelete').on('click', function (e) {
e.preventDefault();
var id = $(this).closest('div').data('id');
$('#myModal').data('id', id).modal('show');
});
$('#btnDelteYes').click(function () {
var id = $('#myModal').data('id');
var dataString = 'id='+ id ;
$('[data-id=' + id + ']').parent().remove();
$('#myModal').modal('hide');
//ajax
$.ajax({
type: "POST",
url: "delete.php",
data: dataString,
cache: false,
success: function(html)
{
//$(".fav-count").html(html);
$("#output").html(html);
}
});
//ajax ends
});
});
这是我正在使用的触发器元素
<div data-id="MYID"><a class="btnDelete" href="#">Delete</a></div>
我使用同一个HTML元素动态触发delete,但它不起作用
有人能告诉我正确的方法吗?您必须使用事件委派
$(document).on("click" , '#btnDelteYes' ,function () {
基本上:在脚本运行时,将click向上绑定到某个存在的对象,当该对象被单击时,告诉它将click事件传递给#btnDelteYes元素
由于缺少信息,我无法理解您在代码上到底做了什么,但答案是:您应该对动态插入的内容使用事件委派您必须使用事件委派
$(document).on("click" , '#btnDelteYes' ,function () {
基本上:在脚本运行时,将click向上绑定到某个存在的对象,当该对象被单击时,告诉它将click事件传递给#btnDelteYes元素
由于缺少信息,我无法理解您在代码上到底做了什么,但答案是:您应该对动态插入的内容使用事件委派,您可以试试
$('[data-id=MYID]').on('click','.btnDelteYes',function({
e.preventDefault();
var id = $(this).closest('div').data('id');
$('#myModal').data('id', id).modal('show');
});
这里的
应该是硬编码的html内容,其思想是将事件委托给该包装器,而不是直接在动态元素上绑定处理程序。您可以尝试
$('[data-id=MYID]').on('click','.btnDelteYes',function({
e.preventDefault();
var id = $(this).closest('div').data('id');
$('#myModal').data('id', id).modal('show');
});
这里的
应该是硬编码的html内容,其思想是将事件委托给该包装器,而不是直接在动态元素上绑定处理程序。。它需要一些代码调整。我使用了$(文档)。在(“click”、'.btnDelete',function(e){
而不是$(文档)。在(“click”、'#btndeleteyes',function(){
谢谢。我的荣幸:)为了后代的利益,请设置可接受的答案~太棒了。它需要一些代码调整。我使用了$(文档)。在(“click”,'.btnDelete',函数(e){
而不是$(文档)。在(“单击”,'#btndeleteyes',函数(){
谢谢。我的荣幸:)为后代着想,请设置可接受的答案~