0

DIVをDOMに動的に追加しています。div内のボタンをクリックすると、divがDOMから削除されるなど、それぞれに何らかのメソッドが必要です。そして私が読むことができるいくつかの属性。

だから私はオブジェクトが必要だと思いますが、これは私を混乱させるものです:

var block = tmpl('added_video_thumb', data);
$('#wrapper').append(block);

ブロックをオブジェクトにしたいので、これを行いました。

var blocks = function(id, data){
  this.block = tmpl('added_video_thumb', data);
}

そして、私はこれにコードを変更しました:

var block = new blocks('added_video_thumb', data);
$('#wrapper').append(block);

次に、メソッドを定義する方法がわかりません。次のような関数を呼び出したくありません。

$('#delete').click(function(){
  block.remove();
})

私が欲しいのは私がこれをするときです:

var block = new blocks();

それはすべての世話をします。このブロックオブジェクトの作成を手伝ってください。

4

2 に答える 2

1

次のフィドルを確認できます

HTMLコード

<input type="text" placeholder="ID" id="id-input" />
<input type="text" placeholder="data" id="data-input" />
<button id="add-div">Add Div</button>

<div id="wrapper">

</div>​

JSコード

$(function(){
    var block = function(id, data) {
        this.id = id;
        this.data = data;
        $("#wrapper").append('<div id="' + id + '">'+ data +'<br /> <button id="del-' + id + '">Delete Me!</button> </div>');
        $("#del-"+id).click(function() {
            $("#"+id).remove();

        });
    }

    $("#add-div").click(function() {
      var newBlock = new block($("#id-input").val(), $("#data-input").val());
    });

});​
于 2012-11-27T05:43:22.660 に答える
1

私があなたの問題を理解しているなら、それはあなたが動的に要素を作成し、それ自身の子にメソッドを割り当てたいということです。

HTML

<button id="add">Add</button>
<div class="container">
</div>

JS

function addBlock() {

var div = $( '<div class="inner_div">
                 <button class="delete">Delete</button>
              </div>' );

div.children('button.delete').on( 'click', function() {
    $(this).parent().remove();
});


$('.container').append(div);
}

フィドルの例:http://jsfiddle.net/wyXxn/1/ </ p>

于 2012-11-27T06:06:02.113 に答える