0

问候stackoverflowers,

我正在研究一个 jQuery 类,其中我有一个将一些 html 代码附加到容器的函数。

this.displayOptions = function(property, container) {
    for (var i = 0; i < this[property + 'Count']; i++) {
        $(container).append('<a href="#" onclick="' + call_a_function_from_this_class + '; return false"></a>');
    }
}

到目前为止,没有问题。在同一个课程中,我有另一个功能

this.setProperty = function(property, index) {
    this[property] = index;
    this.update();
}

我希望附加的 HTML setProperty在我单击它时调用此函数。我怎样才能做到这一点?

为了它的价值,我像这样初始化我的课程

 var myVariable = new MyPlugin();

我知道我可以做到<a href="#" onclick="myVariable.setProperty('', '')">,但插件不知道变量。

任何帮助表示赞赏!

4

1 回答 1

0

找到了我的解决方案。我让它像这样工作:

this.displayOptions = function(property, container) {
    var self = this;
    for (var i = 0; i < this[property + 'Count']; i++) {
        var element = $('<a href="" data-property="' + property + '" />');
        $(container).append(element);

        element.click( function() {
            self.setProperty($(this).attr('data-property'), $(this).index());
        return false;
        });
     }
}
于 2012-09-11T19:41:42.817 回答