2010-11-12 99 views
0

我在文档(就绪)上的UpdatePanel内添加一个单击事件(单击时显示警报)到一个html超链接。但是,当我点击超链接时,事件永远不会被触发。是否因为ASync回发?什么是正确的方法来做到这一点?将事件附加到超链接点击更新面板内?

$(document).ready(function(){ 
      $('#addExcl').click(function(){ 
       alert('asassasaas');return false; 
      });  
    }); 
+0

*叹* *显示一些代码,我们无法猜测您在做什么。 – 2010-11-12 08:40:13

+0

你所描述的应该是可行的。我们将需要编码。 – 2010-11-12 09:16:56

+0

我已经添加了代码位,当我将更新面板外部的超链接放置在更新面板之外时,它可以正常工作。 P.S:你可以在我的问题上将-1设置回0吗?我已经添加了代码._。 – 2010-11-12 09:21:47

回答

2

您需要在每个ajax更新中附加even,因为dom结构发生更改,并且更新部分的事件丢失。

var prm = Sys.WebForms.PageRequestManager.getInstance();  
prm.add_initializeRequest(InitializeRequest); 
prm.add_endRequest(EndRequest); 

function InitializeRequest(sender, args) {  
} 

function EndRequest(sender, args) { 
     $('#addExcl').click(function(){ 
      alert('asassasaas'); 
      return false; 
     }); 
} 
+0

嗨aristos,谢谢你的回复。如果我使用pageLoad,该怎么办? – 2010-11-12 09:34:30

+1

@popo这是MS在面板上每次更新ajax时触发的事件。我认为最好将它附加在EndRequest上以确保找到控件。 – Aristos 2010-11-12 09:39:02

+0

感谢Aristos,在我的情况下,它只是一个切换超链接,所以没有回传。但感谢您的解释,如果您没有回发,并且您没有看到页面加载切换,那么您可能还有其他的javascript错误,请大拇指=) – 2010-11-12 09:43:31