我正在使用jquery searchable plugin来提供可搜索的列表。我已使用下面的代码
向现有表添加了另一行$('.add-package').unbind("click").on("click", function(){
var packageName = $('#container-search').val();
var newRowContent = '<tr>'+
'<td>'+
'<div class="row row-padding">'+
'<div class="col-xs-4">'+packageName+'</div>'+
'</div>'+
'</td>'+
'<td><button>delete</button></td>'+
'</tr>';
$("[id^=searchable-container] > table > tbody").append(newRowContent);
$('#container-search').val(null);
$('#container-search').keyup();
});
添加其他行后,我输入时无法搜索。我检查了searchable.js中的代码,发现当我在搜索字段上输入时会触发下面的代码。
this.$search.on( 'change keyup', function() {
that.search( $( this ).val() );
that.updateStriping();
});
由于上述代码仅适用于现有列表项(或表行),因此我更改了以下代码以添加委派
this.$search.on( 'change keyup', 'tbody tr' ,function() {
that.search( $( this ).val() );
that.updateStriping();
});
无论如何,在添加了委托选择器后,此代码将不会触发,搜索将无效。我在这里做错了什么?
更新
我可以在此jsfiddle中显示此问题的最小版本。删除.laki
并运行示例。它将触发click事件。但是在添加.laki
添加委派后,单击事件将不会触发。