部分视图MVC Jquery不工作
我有一张桌子。我将返回一个行列表,其中一行中有一个按钮。此按钮有一个名为“password”的类。我正在将单击事件附加到此类。每次用户点击这个按钮,我都会进行一个ajax调用,从服务器获取密码,并在单元格中显示它 问题是,每当我返回部分视图(虚拟分页、返回更多行、过滤记录或排序)时,单击事件就不再起作用 这是我的javascript部分视图MVC Jquery不工作,jquery,css,model-view-controller,Jquery,Css,Model View Controller,我有一张桌子。我将返回一个行列表,其中一行中有一个按钮。此按钮有一个名为“password”的类。我正在将单击事件附加到此类。每次用户点击这个按钮,我都会进行一个ajax调用,从服务器获取密码,并在单元格中显示它 问题是,每当我返回部分视图(虚拟分页、返回更多行、过滤记录或排序)时,单击事件就不再起作用 这是我的javascript $('.password').click(function () { var self = $(this); va
$('.password').click(function () {
var self = $(this);
var accountID = $(this).attr('data-id');
var route = {
serverAction: 'GetDecryptedPassword',
args: {
ID: accountID
}
};
App.getJSON(self, route, function (sender, data) {
$("#" + accountID).html(data);
});
return false;
});
我猜一旦部分视图刷新了元素,处理程序就不再附加。它需要重新连接吗
任何帮助都将不胜感激 您需要委派活动
$(staticContainer).on('click', '.password', function () {
加载脚本时,事件始终附加到页面上的元素。因此,当您使用Ajax获取其他行时,这些行仍然不存在
因此,这些事件不受这些元素的约束。因此,如果您将事件委托给静态容器,您基本上是在侦听该容器上的事件,当单击事件发生时,事件将冒泡到父容器并触发事件。我找到了一个解决方案: 试着做:
$(document).on("click", "YOUR_SELECTOR", function(e){
/// Do some stuff ...
});
而不是:
$("YOUR_SELECTOR").on("click", function(e){
/// Do some stuff ...
});
尝试使用
.on()
--$(文档)绑定处理程序。on('click','.password',function(){
--让我们知道这是否有效。..on()似乎有效。太好了。谢谢。很好,Sushanth有相同的答案,请标记它。您能解释为什么这是必要的吗?