1

在 JavaScript/jQuery 中,如果我想要一个可以在已附加到 DOM 的元素上运行的函数,则必须在将元素附加到 DOM之后创建它。我怎样才能做到这一点?我听说可以使用 jQuery.on()函数来做到这一点,但我不太确定如何。

HTML:

<span>Hello Stackoverflow</span>​

JavaScript:

$("span").click(function () {
   addMyElement();
});

$("p").click(function () {
   removeMyElement(this);
});

function addMyElement() {
    $("<p>Hello World</p>").appendTo("body");
}
function removeMyElement(myElement) {
    $(myElement).remove();
}

jsFiddle.net上的示例。

4

2 回答 2

7

这称为委托事件方法,它的工作原理如下:

$("body").on("click", "p", function () {
    // ...
});

body可以使用p.

演示:http: //jsfiddle.net/wWXrK/6/

于 2012-06-06T23:44:31.983 回答
-2
function addMyElement() {
    $("<p>Hello World</p>").appendTo("body").click(function () {
       removeMyElement(this);
    });
}

会为你工作,虽然所有这些链接都没有很大的可读性。

于 2012-06-06T23:45:56.773 回答