jQuery“$(document).on('click','selector',callback)”没有调用click

时间:2013-10-13 14:55:29

标签: javascript jquery html events callback

我最近想继续使用一个旧项目,但我的一个javascript函数停止工作:

jQuery(document).on('click', '#button .submitb', function(e){alert();});

jQuery包含在html文档中。但是,如果我点击

<div id="button" class="submitb">Go!</div>

,没有任何反应。我甚至没有在chrome-console中出错。太,我很确定几周前它有效... 任何人都有一个想法有什么问题以及如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

如果您想定位相同的元素,那么您之间的选择器之间就不能有space,这意味着.submitb 后代 #button

由于元素具有ID ,您实际上只需要id选择器:

jQuery(document).on('click', '#button', function(e){alert();});

修改

您不能拥有多个ID相同的按钮 !!那么你应该只使用class。或者为他们提供不同的ID结尾,例如_0_1和目标[id^=button]

答案 1 :(得分:2)

.submitb不是#button的后代用jquery来定位它只是使用id` #button'

像这样

jQuery(document).on('click', '#button', function(e){alert();});

如果您想要使用该类定位div id,您可以移动空间。

像这样

jQuery(document).on('click', '#button.submitb', function(e){alert();});