这是一个奇怪的..
基本上我有一个三阶段表格,可自动保存状态。
当您单击第一个提交按钮时,它会通过ajax加载第二个阶段。
如果刷新页面,它会使用会话数据重新加载第二阶段(但不能通过ajax)。
在表单的第二个阶段是一个按钮..当用户点击它时,我想调用一些jquery并发出警报。
我的代码如下:
$(document).on("click","#submity",function(event){
event.preventDefault();
alert('lol');
});
这包含在初始页面加载时加载的外部js文件中的文档就绪语句之间。它在jQuery库之后加载,并且正在正确导入。
当第二页由ajax加载时,单击该按钮绝对没有任何效果。直接加载时,它会按预期发出警报。我不能为我的生活找出原因吗?
关于SO的其他问题似乎与on()的委托相关,但据我所知,我已经正确完成了,类似的设置在网站的其他地方工作..
有什么想法吗?
由于
答案 0 :(得分:0)
你可能在document
和#submity
之间有一个对象,它有一个阻止事件冒泡的点击处理程序,使用event.stopPropagation()或返回false;
您的代码的工作原理如下:在单击的对象(#submity
)上创建click事件并传递DOM层次结构,直到它到达jQuery调用事件处理程序的document
。如果在中间某处取消该链,则永远不会调用该处理程序。
您是否可以在ajax调用期间或之后分配click事件处理程序?
没有代码就很难诊断出来。你可以发布一个链接吗?
答案 1 :(得分:-1)
在页面上加载动态加载按钮后,必须绑定.on()事件,或使用过时的.live()。所以在ajax成功回调中绑定东西