2013-10-09 37 views
1

請參閱Jquery的單擊事件以下不再開往新創建的標籤

fiddle

我使用。對,但它似乎click事件並不適用於新建項目。 新項目如何還能聽點擊事件?

$("#addNewAddresses").on("click", function() { 
     console.log("adding an address"); 
     var $table = $(this).parent().find("table"); 
     var html = "<tr class='item'>"; 
     html += "<td class='city'>"; 
     html += "<input id='City' class='inputStylized' type='text' placeholder='City'>"; 
     html += "</td>"; 

     html += " </tr>" 
     $(html).appendTo($table); 
    }); 

    $(".city").on("click", function() { 
     console.log("city was clicked"); 
    }); 

回答

3

您必須將事件委託給靜態最接近父母或到document本身象下面這樣:

$("#address-table").on("click", ".city", function() { 
    console.log("city was clicked"); 
}); 

您可以委託給document這樣:

$(document).on("click", ".city", function() { 
    console.log("city was clicked"); 
}); 

Demo fiddle

0

只要把這個:

$(".city").on("click", function() { 
    console.log("city was clicked"); 
}); 

.appendTo這樣的事件將被新追加輸入:)

JSFiddle

設置