为什么jQuery .on()不支持加载AJAX的元素?

时间:2012-06-30 01:49:11

标签: jquery ajax

好的,我已经设法让.on在不同的网站上工作,但由于某些原因,这只是一个痛苦。

这是我的代码:

$("#tabSection").on("click", "a.tab", function () {
    alert('bob');
});

和HTML(将通过jQuery .load()加载:

<div id="tabSection">
    <table border=0 width="750px" cellspacing=0 cellpadding=0>
    <tr><td class="tab"><a href="javascript:void();" rel="details" class="tab selected">Details</a></td>

显然我关闭了桌子和tabsection div。在我通过ajax加载它之前一切正常。现在,我根本无法使用它。有什么不可能的建议吗?我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:8)

您正在加载#tabSection元素,这意味着当您尝试连接事件时它不存在。

挂钩事件时挂钩事件的元素必须存在。使用加载HTML的元素。

$("#customerForm").on("click", "#tabSection a.tab", function () {
  alert('bob');
});