Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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,追加后,上的Jquery事件不起作用。单击“保存”按钮后,我需要textarea的值 $('.span8') .on('click', '.btn', function() { var input = $("#textarea").val(); alert(input); }); $('body').on('click','#createNote',function() {

追加后,上的Jquery事件不起作用。单击“保存”按钮后,我需要textarea的值

$('.span8')
    .on('click',
            '.btn',
            function() {
        var input = $("#textarea").val();
        alert(input);
    });

$('body').on('click','#createNote',function() {                $('.span8').empty();
                $('.span8').append('<button type="button" class="btn" style="float: right; margin-right: 8px;background-color:#dddddd;font-family:Roboto Slab;color: black" id="save" data-loading-text="Saving...">Save</button><div class="hero-unit"><input type="text" style="width: 100%" id="title" placeholder="Title"/>'+ 
                '<textarea contenteditable="true" id="textarea" class="textarea" placeholder="Enter text ..."style="width: 100%;">dd</textarea></div>');

            });
$('.span8')
.on('单击',
“.btn”,
函数(){
var输入=$(“#textarea”).val();
警报(输入);
});
$('body')。在('click','#createNote',function(){$('.span8')。empty();
$('.span8').append('Save'+
“dd”);
});
HTML:


由于
#save
是动态创建的,因此请使用以下处理程序:

$(document).on('click', '#save' ,function() {
    //do stuff
});
更新小提琴:


您还应该将“单击”按钮处理程序设置为这样,否则它将不会在新创建的
\click
按钮上启动。

此处正在动态创建保存。因此尝试在
上使用

$(document).on('click', '#save' ,function() {
});

只需以动态格式委派事件:

$(document).on('click', '#save' ,function() {
    //do stuff
})
或许也可以这样做:

$(document).on('click', '#click' ,function() {
    //do stuff
})

添加元素后,需要重新绑定处理程序或使用jQuery的live()函数,如下所示:

$('.span8 .btn').live('click', function() {
    var input = $("#textarea").val();
    alert(input);
});
检查这个

$('.btn')。单击(函数(){


}))

live
似乎已被弃用。您必须在
上使用
。就像其他帖子所建议的那样。可能是重复的
$('.span8 .btn').live('click', function() {
    var input = $("#textarea").val();
    alert(input);
});
 var input = $("#textarea").val();
    alert(input);