我正在使用插件来清除列表中的删除行:
$('#swipeMe li').swipeDelete();
$('#swipeMe li').on('click', function(){
$(this).trigger('swiperight')
});
使用html编写swipeDelete功能时可以正常工作:
<h2>Assets </h2>
<div id="Assets">
<ul id="swipeMe">
<li ><a href="#">This doesn't works</a></li>
<li data-swipeurl="#"><a href="#">This works<</a></li>
<li data-swipeurl="#"><a href="#">This works<</a></li>
<li data-swipeurl="#"><a href="#">This works<</a></li>
<li data-swipeurl="#"><a href="#">This works<</a></li>
<li data-swipeurl="#"><a href="#">This works<</a></li>
<li data-swipeurl="#"><a href="#">This works<</a></li>
<li >This doesn't</li>
</ul>
</div>
但它不适用于我追加的新列表项目:
$('.submitAsset').click(function(){
var asset = $('#asset_number').val();
$('<li data-swipeurl="#"><a href="#">' + asset + '</a></li>')
.appendTo('#Assets #swipeMe').swipeDelete();
$('#assetForm').slideUp();
});
请帮忙:/
答案 0 :(得分:1)
$('<li data-swipeurl="#"><a href="#">' + asset + '</a></li>')
.appendTo('#Assets #swipeMe').swipeDelete().on('click', function(){
$(this).trigger('swiperight')
});
如果swipeDelete()方法支持链接,这将起作用。
试一试。
答案 1 :(得分:0)
您在附加代码中对swipeDelete()
的调用应该没问题。我唯一看错的是你还需要附加click事件处理程序。通过更改其分配方式,您可以将其附加到稍后通过代码添加的元素...
$('#swipeMe').on('click', 'li', function(){
$(this).trigger('swiperight')
});
这会将点击处理程序分配给ID为li
的元素中的所有#swipeMe
元素,无论它们是否在代码运行时存在。