0

我最近将我的网站折叠成一个大的 .JS 文件和一个大的 .CSS 文件(在我构建它时,我将所有 JS 和 CSS 放在单独的页面上以使其更容易。)

现在我把它们放在一起,CSS 工作得很好,但 .JS 不是。这与这个该死的 .ON 声明有关。.JS 在我在“主”div 中加载页面之前运行良好,但是一旦加载,我就无法从中得到任何东西。

目前我已经设置了html:

<div id="main">
<div id="customerForm" class="Admin">
<div id="tabSection">
<a class="tab selected"></a>
</div>
</div>
</div>

我试图让 .ON 语句与 a.tab 一起使用:

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

但它没有给我任何回应。有任何想法吗?是否有一种万无一失的方法可以知道什么会响应,什么不会响应 .ON?我怎么知道?:S

4

2 回答 2

0

问题是因为您正在绑定.on语句#customerForm.Admin,如果您所说的是正确的,则在您的 AJAX 调用之后将被替换。您需要将绑定更改为在 DOM 树中更高的位置,高于替换点。

于 2012-07-02T09:55:18.223 回答
0

尝试

$("body").on("click", "a.tab", function () {
alert('hello');
});

或者

$("body").delegate("a.tab", "click", function () {
alert('hello');
});
于 2012-07-02T09:57:03.510 回答