0

我正在使用 System.Web.Optimization 框架来捆绑和缩小我的 JavaScript,并且我正在使用 @section Script{ } 部分来确保我的所有 JavaScript 都定义在页面底部。这包括诸如 jQuery 之类的资源。

现在,我的一个页面具有 AJAX 功能。当此函数返回时,它会返回一个局部视图,然后将其添加到 DOM。这个局部视图包含一个表单和一些 JavaScript,它们使用(不出所料)jQuery 为局部视图中的元素连接事件处理程序。

现在,我目前在脚本标签内的页面中声明了这个 JavaScript,但我正试图转移到我的所有 JavaScript 都不显眼(换句话说,都在外部文件中)的情况。

通常使用部分,我会确保在父视图的包中定义外部 JS 文件,但这是 AJAX,所以 $(document).ready(...) 将在我的 AJAX 返回之前触发。

我正在探索 jQuery 的 .on() 方法[似乎已经取代了已弃用的 .live() 方法],但这是最好的方法还是我应该考虑其他方法?

提前致谢

格里夫

4

1 回答 1

0

我已经完成了这两种不同的方式。第一个是将我的点击事件等放入我在部分视图加载后调用的函数中。这使得代码可用并且可以在局部视图上运行。我最近学到的第二种方法是写我的事件有点不同

$(document).on('click', '.btnSubmit', function(){
    //code
});

以这种方式编写事件,即使在页面加载后加载了部分视图,它也会触发。希望这会有所帮助。

于 2013-10-16T03:09:19.447 回答