2012-06-13 51 views
2

让我们假设页面上有几个<span class='remove-type'>元素。在包装集上绑定jQuery点击事件

在jQuery中的document.ready甚至我打电话$('.remove-type').on('click', removeType);

removeType是本地定义的函数。

出于某种原因,removeType(data)仅在第一次单击任何.remove类型的跨度时才会被调用和执行。随之而来的点击不会触发功能。这是jQuery .on事件绑定的正确行为吗?

附加信息:我删除了生成click事件的物品的容器,但其他remove-type跨度仍然存在。

+0

无法重现(http://jsfiddle.net/hrCX4/1/)。你确定你的HTML标记没有错误吗? – xbonez

+0

做什么'removeType()'? –

+0

尝试使用'.live',他们声称.on会替换它,但通过点击事件,它通常不会。 '.live'往往会保持在线状态,以便承载该类的新元素也会收到点击事件。 ''('。remove-type')。live('click',removeType);' – SpYk3HH

回答

1

您正在设置一个点击处理程序,其中包含您目前正在使用的.on()on()功能应该看起来像

$(document).on('click', '.remove-type', function()... 
+0

可能不使用文档 - 使用更多本地容器。例如,文档很好! – Ian

+0

完全同意。如果没有对代码的更广泛的理解,我不能提供具体的地点去委托。 – al3xnull