我已经为基本的数据库操作创建了一个工具栏:insert,delete等。它有一个处理好的onclick事件。我希望能够通过php动态构建这个工具栏。生成相同的代码,但由于某种原因,该事件不起作用。我尝试了火狐开发者版本,但它告诉我原始代码绑定到事件,但是ajax收到的部分不是。我做错了什么
顶级版本正常工作,完整(绿色)工具栏不是(未绑定到ev)这部分是由ajax事件接收的
原始html看起来像这样:
<div class="btn-group" role="group" aria-label="hallo">
<button type="button" id="id_phspapps_dbnavigator_1_add" class="btn btn-default">Add</button>
<button type="button" id="id_phspapps_dbnavigator_1_cancel" class="btn btn-default">Cancel</button>
</div>
</div>
<div id="phid_phspapps_dbnavigator_1">
</div>
在ondocumentready中,触发事件以检索工具栏数据。看起来设置ajax事件没有绑定到字段。所有按钮都有自己的事件,如_add,_cancel作为_edit:
的下面函数$("#id_phspusers_dbnavigator_1_edit").click(function() {
var str='';
str = $( "#id_"+formid ).serialize();
procbutton(str+'&cmd=edit&sender=id_phspusers_dbnavigator_1','');
});
答案 0 :(得分:4)
如果您要动态生成内容,则需要使用.on()
$(document).on( "click" ,"your_element", function() {
});
我不确定,但我相信该文档就像最外层的父(您的文件),您不一定需要将事件绑定到文档。您需要将它绑定到页面和JS脚本加载时存在的父元素(据我所知),检查@JasonB提供的关于此文档的链接以获得更好的解释。