0

プラグインを使用して、リストから行をスワイプして削除しています。

        $('#swipeMe li').swipeDelete();

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

swipeDelete機能は、htmlで記述した場合に正常に機能します。

<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 に答える