大家早上好,我在将jquery点击事件重新绑定到网格中的某些链接时遇到了一些麻烦。网格处于部分视图中,使用jquery.load()方法刷新。我所做的是尝试使用.live()方法将点击事件绑定到链接,但它只在第一次加载页面时工作,一旦我点击其中一个链接并且网格刷新了jquery点击事件否更长的火。以下是其中一个点击事件以及我如何编写它的示例。
$('.set-default-link').live('click', function () {
setDefaultLinkObj = $(this);
$('#dlg-phone-set-default').dialog('open');
return false;
});
答案 0 :(得分:0)
.live()的目的是绑定DOM根目录下的事件,这样无论在下面发生什么,由匹配选择器的元素生成的事件总是会触发它们的处理程序。所以,听起来像是你在部分重新加载时以某种方式破坏了DOM的根源。如果没有,你应该尝试在jsfiddle中复制它,我可以帮助你。
另外,请参阅下文,了解防止“点击”触发默认行为的更好方法。
$('.set-default-link').live('click', function (event) {
setDefaultLinkObj = $(this);
$('#dlg-phone-set-default').dialog('open');
// use this to prevent the click default from happening (cleaner and allows bubbling)
event.preventDefault();
});