Javascript jQuery未检测到对动态插入元素的单击
我有以下建议:Javascript jQuery未检测到对动态插入元素的单击,javascript,jquery,html,ajax,bootstrap-modal,Javascript,Jquery,Html,Ajax,Bootstrap Modal,我有以下建议: <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header">
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 id="mt" class="modal-title" id="myModalLabel"></h4>
</div>
<div id="mb" class="modal-body">
</div>
<div id="mf" class="modal-footer">
</div>
</div>
</div>
}))
我不能让它工作。看起来在鸡蛋问题发生之前可能会有鸡,但我对jquery/javascript非常陌生,所以我不确定。基本上,我希望能够单击动态创建的按钮并启动另一个jquery脚本。只需对动态加载的元素使用.on()函数
问题是您正在将单击处理程序分配给不存在的元素
这将解决您的问题
$(document).on('click','#killgroup',function(){
alert('made it');
});
它以前是.live()函数,但后来被弃用了。on()应该可以做到这一点,只需对动态加载的元素使用.on()函数
问题是您正在将单击处理程序分配给不存在的元素
这将解决您的问题
$(document).on('click','#killgroup',function(){
alert('made it');
});
它以前是.live()函数,但后来被弃用了。on()应该可以实现以下功能代码:
$('#killgroup').click(function(){ ... });
…表示查找代码运行时存在的id为“killgroup”的元素,然后为该元素分配一个单击处理程序
当然,在你的例子中,元素还不存在。使其工作的两种常用方法是将.click()
调用移动到创建元素的代码之后(在Ajax回调中),或者使用绑定到当时确实存在的父元素的委托单击处理程序(或者如果没有父元素,则绑定到文档
):
该变量将处理程序绑定到jQuery对象中的元素(在本例中,我使用了。“模态内容”
,因为您知道它在开始时就存在),然后当单击发生时,jQuery会自动测试单击是否源自与第二个参数中的选择器匹配的元素的子元素,“#killgroup”
代码:
$('#killgroup').click(function(){ ... });
…表示查找代码运行时存在的id为“killgroup”的元素,然后为该元素分配一个单击处理程序
当然,在你的例子中,元素还不存在。使其工作的两种常用方法是将.click()
调用移动到创建元素的代码之后(在Ajax回调中),或者使用绑定到当时确实存在的父元素的委托单击处理程序(或者如果没有父元素,则绑定到文档
):
该变量将处理程序绑定到jQuery对象中的元素(在本例中,我使用了。“模态内容”
,因为您知道它在开始时就存在),然后当单击发生时,jQuery会自动测试单击是否源自与第二个参数中的选择器匹配的元素的子元素,“#killgroup”
$('#killgroup').click(function(){ ... });
$('.modal-content').on('click', '#killgroup', function() {
alert('made it');
});