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 回答