2013-03-08 57 views
0

我已经设置了一个局部视图在索引页中进行渲染。当用户点击排序按钮时,局部视图会使用Ajax发送到服务器。这是因为整个页面不会刷新局部视图表。处理局部视图和javascript

问题出在第一次排序之后,索引页中的JavaScript不再有效。我通过将js放在局部视图本身来解决这个问题来解决这个问题,但是这会产生js错误来表示“继续”或“忽略”。

回答

2

这是因为你新注入的元素(通过ajax)没有意识到事件有界。所以那些事件绑定对他们来说是不可用的。

你应该改变你的事件绑定使用on,使其处理潮流元素和未来元素

例如(动态通过AJAX左右加入到DOM),如果你要处理的点击事件与CSS类someCssClassSelector元件,

变化

$(".someCssClassSelector").click(function(){ 
    //do something 
}); 

$(document).on("click",".someCssClassSelector",function(){ 
    //do something 
}); 
+0

该工作,如果我需要坚持'滚动'事件是可能的,那是需要坚持的另一个功能。我会更新这个问题。 – Rayshawn 2013-03-08 16:23:19

+0

@RayEatmon:不要更新问题。作为一个新问题发布并提供相关详细信息 – Shyju 2013-03-08 16:24:18

+0

我会这么做的。 – Rayshawn 2013-03-08 16:24:35