1

我有一个小的 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');
    }
}

我不知道如何阻止这种情况发生。有什么建议吗?

4

1 回答 1

2

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

$("a.popup").unbind('click').click(function (e) {
于 2013-05-01T12:40:38.217 回答