[英]jquery event not working after append
追加后,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>');
});
HTML:
<div class="span8"></div>
由於#save
是動態創建的,因此請使用以下處理程序:
$(document).on('click', '#save' ,function() {
//do stuff
});
更新的小提琴: http : //jsfiddle.net/tymeJV/YsnhT/3/
您還應該像這樣使“單擊”按鈕處理程序,否則它將不會在新創建的#click
按鈕上#click
。
只需以動態格式委派事件:
$(document).on('click', '#save' ,function() {
//do stuff
})
也許對以下內容也可以這樣做:
$(document).on('click', '#click' ,function() {
//do stuff
})
保存是在這里動態創建的。因此請嘗試on
$(document).on('click', '#save' ,function() {
});
一旦添加了元素,就需要將處理程序重新綁定到該元素或使用jQuery的live()函數,如下所示:
$('.span8 .btn').live('click', function() {
var input = $("#textarea").val();
alert(input);
});
檢查這個...
$('。btn')。click(function(){
var input = $("#textarea").val();
alert(input);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.