Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-在事件上创建新函数_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-在事件上创建新函数

Javascript jQuery-在事件上创建新函数,javascript,jquery,Javascript,Jquery,在JavaScript/jQuery中,如果我希望有一个可以在已附加到DOM的元素上运行的函数,则必须在元素附加到DOM之后创建该函数。我该怎么做?我听说可以使用jQuery.on()函数来实现这一点,但我不太确定如何实现 HTML: Hello堆栈溢出​ JavaScript: $(“span”)。单击(函数(){ addMyElement(); }); $(“p”)。单击(函数(){ 移除MyElement(此); }); 函数addMyElement(){ $(“helloworld”)

在JavaScript/jQuery中,如果我希望有一个可以在已附加到DOM的元素上运行的函数,则必须在元素附加到DOM之后创建该函数。我该怎么做?我听说可以使用jQuery
.on()
函数来实现这一点,但我不太确定如何实现

HTML:

Hello堆栈溢出​
JavaScript:

$(“span”)。单击(函数(){
addMyElement();
});
$(“p”)。单击(函数(){
移除MyElement(此);
});
函数addMyElement(){
$(“helloworld

”).appendTo(“body”); } 函数removeMyElement(myElement){ $(myElement.remove(); }
示例。

这被调用,其工作原理如下:

$("body").on("click", "p", function () {
    // ...
});
您可以使用
p
的任何父元素,而不是
body

演示:

这是一个调用,其工作原理如下:

$("body").on("click", "p", function () {
    // ...
});
您可以使用
p
的任何父元素,而不是
body

演示:

函数addMyElement(){
$(“Hello World

”)。附加到(“正文”)。单击(函数(){ 移除MyElement(此); }); }
将对您起作用,但这些链接的可读性不强。

函数addMyElement(){
$(“Hello World

”)。附加到(“正文”)。单击(函数(){ 移除MyElement(此); }); }

将对您有用,但这些链接的可读性不高。

您是指事件处理程序吗?如果是的话,哪一个事件,它可能像添加对newElement的调用一样简单。单击(blah)一些好的示例。在这里刚刚添加了一个示例,说明我的意思。。。希望有帮助所有jQuery事件函数的比较您指的是事件处理程序吗?如果是的话,哪一个事件,它可能像添加对newElement的调用一样简单。单击(blah)一些好的示例。在这里刚刚添加了一个示例,说明我的意思。。。希望有帮助所有jQuery事件函数的比较必须确保正确:如果元素
主体
内部对元素
p
触发了事件
单击
,则花括号内的函数将被“添加”?还是我做错了什么?因此,如果我有在附加到页面的元素上运行的函数,我只需将其包装在您的示例中?@wowpatrick Yes,将执行所谓的处理程序函数中的代码。只是为了确保我的操作正确:如果在元素
主体内
事件
单击
将在元素
p
上触发,花括号内的函数是否将被“添加”?还是我做错了什么?因此,如果我有在附加到页面的元素上运行的函数,我只需将其包装在您的示例中?@wowpatrick Yes,将执行所谓的处理函数中的代码。
$("body").on("click", "p", function () {
    // ...
});
function addMyElement() {
    $("<p>Hello World</p>").appendTo("body").click(function () {
       removeMyElement(this);
    });
}