我已经设置了一个部分视图来在索引页面中呈现。当用户单击排序按钮时,使用Ajax将部分视图发布到服务器。这样整个页面就不会刷新部分视图表。
问题出在第一次排序后,索引页面中的JavaScript不再有效。我通过将js放在局部视图本身来解决这个问题来解决这个问题,但这会产生js错误,说“继续”或“忽略”。
答案 0 :(得分:2)
这是因为你新注入的元素(通过ajax)不知道有界的事件。所以那些事件绑定对他们来说是不可用的。
您应该更改事件绑定以使用on
,以便它处理当前元素和未来元素(通过ajax动态添加到DOM)
例如,如果您要为css类为someCssClassSelector
的元素处理 点击 事件,
更改
$(".someCssClassSelector").click(function(){
//do something
});
到
$(document).on("click",".someCssClassSelector",function(){
//do something
});