您应该将事件处理程序绑定到加载页面中的父元素。
例如:
<div class="tabscontainer">
<div class="tabs">
<ul>
<li>Tab 1</li>
<li>Tab 2</li>
<li>Tab 3</li>
<li>Tab 3</li>
</ul>
</div>
<div class="cont tab1">
Tab 1 Contents
</div>
</div>
如果它们已经存在,您可以显示/隐藏每个 .cont.tabX - 如果它们不存在,则通过 ajax 加载新的。
然后:
假设您在 tab2 中加载了一个 id 为 #form-modal 的表单,如下所示
<div class="tabscontainer">
<div class="tabs">
<ul>
<li>Tab 1</li>
<li>Tab 2</li>
<li>Tab 3</li>
<li>Tab 3</li>
</ul>
</div>
<div class="cont tab1">
Tab 1 Contents
</div>
<div class="cont tab2">
<form id="form-modal" />
</div>
</div>
使用这个 jQuery:
$('.tabscontainer').on('submit','#form-modal', function(e){//somecode//});
如果您添加了另一个表单#form2:
$('.tabscontainer').on('submit','#form2', function(e){//form 2 code//});
thsi 允许您在页面上加载您需要的所有 js - 即使对于尚不存在的元素 - 以捕获相关事件,因为它使 dom 冒泡并应用于正确的元素