Jquery mobile 拆分listview次按钮单击动态添加行上的事件
我正在使用jQm将行添加到拆分列表视图中,并且我只能获取触发单击事件的第一行(不是动态添加的)。我假设我需要调用某个刷新函数,但我不知道是什么-我已经在刷新listview,我希望能够解决它 这是小提琴: 下面是代码:Jquery mobile 拆分listview次按钮单击动态添加行上的事件,jquery-mobile,jquery-mobile-listview,Jquery Mobile,Jquery Mobile Listview,我正在使用jQm将行添加到拆分列表视图中,并且我只能获取触发单击事件的第一行(不是动态添加的)。我假设我需要调用某个刷新函数,但我不知道是什么-我已经在刷新listview,我希望能够解决它 这是小提琴: 下面是代码: <ul data-role="listview" data-split-icon="minus" id="list"> <li> <a href="#">Item Description</a>
<ul data-role="listview" data-split-icon="minus" id="list">
<li>
<a href="#">Item Description</a>
<a href="#" class="delbtn">remove</a>
</li>
</ul>
<a href="#" id="addbtn" class="ui-btn">Add item</a>
-
JS:
var itemcount=1;
$('#addbtn')。单击(函数(){
var addstr='';
$('#list')。追加(addstr);
$('#list').listview();
$('#list')。列表视图('refresh');
itemcount++;
});
$(“#列出a.ui-li-link-alt”)。在(“单击”,函数()上{
警报(“delbtn已单击”);
});
我缺少什么?因为您正在动态添加DOM元素,所以无法提前绑定。而是使用事件委派(): 这表示将click事件绑定到列表中具有delbtn类的任何项目,即使它们还不存在 更新
$(文档)。在(“click”、“.delbtn”上,函数()
,而不是$('.delbtn')。在处理动态元素时,单击(函数(){
)。这称为事件委派,它必须简单-谢谢!
var itemcount=1;
$('#addbtn').click(function() {
var addstr = '<li><a href="#">Item Description '+itemcount+'</a><a href="#" id="delbtn-'+itemcount+'" class="delbtn">remove</a></li></ul>';
$('#list').append(addstr);
$('#list').listview();
$('#list').listview('refresh');
itemcount++;
});
$('#list a.ui-li-link-alt').on("click",function() {
alert('delbtn clicked');
});
$('#list').on("click", ".delbtn", function() {
alert('delbtn clicked');
});