2009-07-13 35 views
0

我有一个window.onbeforeunload事件,我希望禁用,当我点击一个特定的超链接。从一个链接删除事件似乎影响每一件事

我使用下面的JQuery:

$(function() { 
     $("a#<%= lockUnlock.ClientID %>").click(function() { 
      window.onbeforeunload = null; }); 
    }); 

但是当我点击其他链接不会触发事件。

有没有解决这个办法吗?

EDIT(详细信息):

我使用asp.net

lockUnlock是一个链接按钮,这是一个更新面板上。链接按钮被按下后,部分页面返回window.onbeforeunload不再工作。

回答

0

不知道我能不能帮忙,但你确定<%= lockUnlock.ClientID %>是非空吗?很显然,如果它正在计算一个空字符串,所有的锚将最终绑定到这个点击处理程序。

此外,你是否自动生成此JavaScript?如果不是,<%= lockUnlock.ClientID %>如何被替换为实际的ID?我不能说我像PHP一样使用ASP或ASP.NET,所以当这种替换发生时,我有点生疏。

希望这一切都会得到解决!

+0

您可能会找到一些东西。我刚刚复制了这个简单的HTML表单,它工作正常。 – 2009-07-13 15:47:42

0

ClientID只会在Page.PreRender事件中被填充。如果你在Page.Load上这样做,那么ClientID将具有空值(或空值)。这可能不是你期望的jQuery选择器。