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