0

我正在使用插件从列表中滑动删除行:

        $('#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();    
});

请帮忙 :/

4

2 回答 2

1
$('<li data-swipeurl="#"><a href="#">' + asset + '</a></li>')
    .appendTo('#Assets #swipeMe').swipeDelete().on('click', function(){
            $(this).trigger('swiperight')
        });

如果 swipeDelete() 方法支持链接,这将起作用。

试试看。

于 2012-12-17T12:59:29.340 回答
0

您在附加代码中的调用swipeDelete()应该没问题。我唯一能看到的错误是您还需要附加点击事件处理程序。通过更改它的分配方式,您可以使其附加到稍后通过代码添加的元素......

    $('#swipeMe').on('click', 'li', function(){
        $(this).trigger('swiperight')
    });

这会将点击处理程序分配给li具有 id 的元素中的所有元素#swipeMe,无论它们在代码运行时是否存在。

于 2012-12-17T12:54:27.043 回答