0

私の Web アプリは、SQL データベースから情報を取得し、その情報に基づいてオブジェクトを作成できる必要があります。これらは、クリック イベント (およびそれらに関連付けられたその他のメソッド) を必要とする HTML 要素です。

私が現在していること:

function init() {
    //initially creates objects based on SQL database

    //user creates a new Foo
    fooA = new Foo({id: i, otherInfo: "..."});

    $(fooA.selector).click({...});
    $(fooA.selector).draggable({...});
    //etc.

    $(fooA.selector).appendTo('#topContainer');


function Foo(data) {
    this.id = data.id;
    this.html = "";
    this.selector = "#"+this.id;

    $('<div/>',{
        "class": "Foo",
        id: this.id,
        text: 'Blah blah blah'
    })
}

更新: イベントを持つ HTML div を作成するより良い方法はありますか、それとも効率的で適切な方法ですか? また、JavaScript オブジェクトを配列に作成する必要がありますか?

4

1 に答える 1

1

すべての新しい要素がクリック時に同じことを行う場合は、作成時にクリック イベントをアタッチするのではなく、親要素からクリック イベントを委譲する方が簡単かもしれません。


例えば:

$(document).on('click', '.foo', function(e){
    //do something when a .foo element is clicked on in the document
});
于 2013-01-10T17:53:35.073 に答える