如何使用jquery .live()将jquery事件重新绑定到局部视图中的链接

时间:2011-04-13 15:19:48

标签: jquery asp.net-mvc

大家早上好,我在将jquery点击事件重新绑定到网格中的某些链接时遇到了一些麻烦。网格处于部分视图中,使用jquery.load()方法刷新。我所做的是尝试使用.live()方法将点击事件绑定到链接,但它只在第一次加载页面时工作,一旦我点击其中一个链接并且网格刷新了jquery点击事件否更长的火。以下是其中一个点击事件以及我如何编写它的示例。

 $('.set-default-link').live('click', function () {
            setDefaultLinkObj = $(this);
            $('#dlg-phone-set-default').dialog('open');
            return false;
        });

1 个答案:

答案 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();
});