无法使用jQuery定位动态生成的元素

时间:2018-01-15 00:14:30

标签: javascript jquery html ios

One of the pages I'm working on有一个包含表单的模式,当在大多数移动iOS设备上查看时,在每个输入被聚焦时,将插入符/光标显示在错误的位置。很多人报告了这个问题,包括this page here

根据他们的建议,我试图编写一些JS来隐藏正文内容,等等。我很难绑定.new-appt.timeslot元素的点击事件。

我试过了:

A)jQuery('.new-appt').click(function(){ alert(); });

B)jQuery('.timeslot').click(function(){ alert(); });

C)jQuery(document).on('click', '.new-appt', function(){ alert(); });

D)jQuery(document).on('click', '.timeslot', function(){ alert(); });

E)jQuery(document).live('click', '.new-appt', function(){ alert(); });

F)jQuery(document).live('click', '.timeslot', function(){ alert(); });

当粘贴在控制台中时,A到D似乎触发正常,但不在脚本块中。我也尝试将它们放在jQuery(document).ready中,但这似乎没什么帮助。

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

在这些DOM元素准备好之后,您必须将事件侦听器附加到元素。在这种情况下,当模态中的DOM准备就绪时。所以基本上你应该在打开的处理程序底部注册click事件并创建这个模态的内容。