0

やることリストを作成していると仮定します。最後のリストアイテムがクリックされるたびに新しいリストアイテムを追加するにはどうすればよいですか。以下のサンプルコードでは、4番目のリストアイテムはクリックイベントを保持していますが、毎回最後のリストアイテムに配置したいと思います。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.js" type="text/javascript"></script>

<ul id="foo">
<li><input placeholder="One"></input></li>
<li><input placeholder="Two"></input></li>
<li><input placeholder="Three"></input></li>
<li><input placeholder="Click Me Add More"></input></li>
</ul>

<script>
    $('#foo li:last-child').bind( "click", function(){
        var li = $(this).clone();
        $('#foo').append(li);
    })
</script>
4

4 に答える 4

1

jquery 1.7+ の場合は、次を使用します。

http://jsfiddle.net/NeQ5q/

 $('#foo').on( "click","li:last-child", function(){
        var li = $(this).off('click').clone();
        $('#foo').append(li);
    })​
于 2012-11-14T17:25:41.847 に答える
1

これを試して

$('#foo li:last-child').bind( "click", function(){
        var li = $(this).clone(true);
        $('#foo li:last-child').unbind( "click");
        $('#foo').append(li);
    })​

代わりに使用.on() し、.off()

$('#foo li:last-child').on( "click", function(){
      var li = $(this).clone(true);
      $('#foo li:last-child').off( "click");
      $('#foo').append(li);
 })​

フィドルをチェック

于 2012-11-14T17:26:03.700 に答える
0

ライブではなくバインドしようとしていました

$('#foo li:last-child').live( "click", function(){
    var li = $(this).clone();
    $('#foo').append(li);
})
于 2012-11-14T17:21:59.143 に答える
-1

これを試してください:http://jsfiddle.net/xu4wc/

$('#foo').on( "click","input:last-child", function(){
     var li = $(this).parent().clone();
        $('#foo').append(li);
    })
于 2012-11-14T17:27:12.063 に答える