我希望将事件绑定到某个类和ID,以便在DOM中创建匹配对象。
我这样做是因为我在ASP UpdatePanel中有一些jQuery代码,导致DOM在其部分回发上重新加载。我已经使用live()重置了事件,但是我需要在创建元素后立即调用2行初始化函数。
有没有办法将它附加到live()或其他一些jQuery函数,还是我必须自己编写代码来执行此操作?
谢谢,Ed
答案 0 :(得分:1)
如果您正在使用UpdatePanel,则可以编写一个名为:
的函数function pageLoad() { } //Called by ASP.Net javascript code
每次页面最初加载时以及加载UpdatePanel内容时都会调用它,或者当UpdatePanel返回时你可以连接任何你想要运行的函数:
$(document).ready(function() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myFunction);
});
function myFunction() {
//Do stuff with elements
}
请注意,这不会运行第一页加载,仅在UpdatePanel加载时运行。只需在document.ready中添加对myFunction();
的调用,如果您需要它也可以在加载时运行。
答案 1 :(得分:1)
只要将节点添加到DOM,就会触发DOMNodeInserted
事件。让文档正文听取此事件,并在触发时,在插入的节点中搜索您正在查找的类和ID选择器。
$(document.body).bind("DOMNodeInserted", function(event) {
// element is the newly inserted node
var element = $(event.target);
// if this element is of interest
if($("<selector>", element).length > 0) {
// run the initialization code here..
}
}
详细了解DOM突变事件here。