pageload函数内部的jquery函数多次触发

时间:2013-05-01 12:38:30

标签: jquery asp.net ajax updatepanel

我有一个小的jquery函数,可以打开一个弹出窗口。

由于我的网站是基于asp.net并使用更新面板,我将该函数放在ajax pageLoad()函数中,以确保它在每次回发后都能正常工作。

我正在开发一个包含许多更新面板的新页面。如果在我做了几个异步回发之后,然后我点击带有弹出窗口的超链接,那么函数似乎每次回发都会触发一次。

这是功能:

function pageLoad() {
    $("a.popup").click(function (e) {
        if (e.preventDefault) {
            e.preventDefault();
        }
        else {
            e.returnValue = false;
        }
        window.open(this.href, this.target, 'menubar=0, toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=0, width=1010, height=640, left=50, top=50');
    }
}

我对如何阻止这种情况感到茫然。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

每次页面加载发生时,事件处理程序都会重新绑定。试试这个:

$("a.popup").unbind('click').click(function (e) {