Javascript 如何在追加元素后添加事件函数?

Javascript 如何在追加元素后添加事件函数?,javascript,jquery,html,Javascript,Jquery,Html,我点击按钮,它会在正文中添加一个div,然后,我想点击该div来提醒一条消息。我试过了,但失败了。如何使用突出显示区域实现。 $(文档).ready(函数() { $(“按钮”)。单击(函数() { div=“div”; $(“正文”)。追加(div); }); $(“.test”)。单击(函数() { 警报(“测试”); }); }); Append div有一种方法,就是在将侦听器附加到body标记后,在click事件上注册侦听器,负责注销以前的clicks事件,这样就不会在同一元素上

我点击按钮,它会在正文中添加一个div,然后,我想点击该div来提醒一条消息。我试过了,但失败了。如何使用突出显示区域实现。

$(文档).ready(函数()
{
$(“按钮”)。单击(函数()
{
div=“div”;
$(“正文”)。追加(div);
});
$(“.test”)。单击(函数()
{
警报(“测试”);
});
});


Append div有一种方法,就是在将侦听器附加到body标记后,在
click
事件上注册侦听器,负责注销以前的clicks事件,这样就不会在同一元素上遇到多次clicks事件。请注意,当文档准备就绪时,仍然不存在任何类为
.test
的元素,这就是代码无法工作的原因。检查下一个示例:

$(文档).ready(函数()
{
$(“按钮”)。单击(函数()
{
var div=“”;
$(“正文”)。追加(div);
$(“.test”)。解除绑定(“单击”)。单击(函数()
{
警报(“单击了一个新的div!”);
});
});
});
.test{
宽度:200px;
高度:200px;
背景:红色;
边缘底部:5px;
}

追加新div

一种方法是,在将侦听器附加到body标记后,只需在
click
事件上注册侦听器,即可注销以前的clicks事件,这样就不会在同一元素上发生多次clicks事件。请注意,当文档准备就绪时,仍然不存在任何类为
.test
的元素,这就是代码无法工作的原因。检查下一个示例:

$(文档).ready(函数()
{
$(“按钮”)。单击(函数()
{
var div=“”;
$(“正文”)。追加(div);
$(“.test”)。解除绑定(“单击”)。单击(函数()
{
警报(“单击了一个新的div!”);
});
});
});
.test{
宽度:200px;
高度:200px;
背景:红色;
边缘底部:5px;
}

追加新div

您应该注意,当文档准备就绪时,
.test
类中的元素不存在(这就是您的代码不工作的原因),它们是通过友好方式添加的。所以,我会这样做:

$(document).ready(function()
{
    $("button").click(function()
    {
        var div = $("<div></div>").addClass('test'); // this is creating div element in dom as jquery 

         // Then attach click function to purpose of its create
        div.click(function()
        {
            alert('test')
        });

        $("body").append(div);// then this is appending created div
    });
});
$(文档).ready(函数()
{
$(“按钮”)。单击(函数()
{
var div=$(“”)。addClass('test');//这是在dom中创建div元素作为jquery
//然后将单击功能附加到其创建目的
div.click(函数()
{
警报(“测试”)
});
$(“body”).append(div);//那么这就是追加创建的div
});
});

您应该注意,当文档准备就绪时,带有
.test
类的元素不存在(这就是您的代码无法工作的原因),它们是通过友好方式添加的。所以,我会这样做:

$(document).ready(function()
{
    $("button").click(function()
    {
        var div = $("<div></div>").addClass('test'); // this is creating div element in dom as jquery 

         // Then attach click function to purpose of its create
        div.click(function()
        {
            alert('test')
        });

        $("body").append(div);// then this is appending created div
    });
});
$(文档).ready(函数()
{
$(“按钮”)。单击(函数()
{
var div=$(“”)。addClass('test');//这是在dom中创建div元素作为jquery
//然后将单击功能附加到其创建目的
div.click(函数()
{
警报(“测试”)
});
$(“body”).append(div);//那么这就是追加创建的div
});
});

对于动态创建的元素,请使用.on,了解更多关于.on的信息

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
div=“”;
$(“正文”)。追加(div);
});
$(文档).on('click','test',function(){
警报(“测试”);
});
});

对于动态创建的元素,请使用.on,了解更多关于.on的信息

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
div=“”;
$(“正文”)。追加(div);
});
$(文档).on('click','test',function(){
警报(“测试”);
});
});

请提供您到目前为止所做的代码。请提供您到目前为止所做的代码。我投票支持您,但请添加一些解释,帮助他理解他所面临的问题。@D.Smania由于我缺乏英语,我无法向他充分解释这一点。您可以编辑此内容以了解更多信息吗?我已经编辑过了,但是我的英语也不太好,我的母语是西班牙语。无论如何,我使用谷歌翻译作为帮助。我投票支持你,但请添加一些解释,帮助他理解他所面临的问题。@D.Smania由于我缺乏英语,我无法完全向他解释这一点。你可以编辑更多吗?我编辑过,但我英语也不太好,我的母语是西班牙语。无论如何,我使用谷歌翻译作为帮助。