0

我想在 DOM 中创建匹配对象时将事件绑定到某个类和 ID。

我这样做是因为我在 ASP UpdatePanel 中有一些 jQuery 代码,这会导致 DOM 在其部分回发时重新加载。我已经使用 live() 重置了事件,但是我需要在创建元素后立即调用 2 行初始化函数。

有什么方法可以将它附加到 live() 或其他一些 jQuery 函数,还是我必须自己编写代码来执行此操作?

谢谢,埃德

4

2 回答 2

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 加载时运行。myFunction();如果您还需要在加载时运行,只需在 document.ready 中添加一个调用。

于 2010-03-09T11:11:42.797 回答
1

DOMNodeInserted每当将节点添加到 DOM 时,就会触发一个事件。让文档主体侦听此事件,并在它被触发时,在插入的节点中搜索您要查找的类和 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 突变事件的更多信息。

于 2010-03-09T11:27:03.207 回答