使用元素选择器向Object添加函数

时间:2015-03-20 15:36:52

标签: javascript jquery object events

我有一个对象

function Object(name, button) {
    this.name = name;
    this.button = button;
    var alert = function () {
        alert("x");
    };
}

var ExampleOne = new Object('Example One', $('.exampleButton'));

如何在Object [button] ...

的事件中触发对象内的函数

使用 -

ExampleOne.button.click(function () {
    ExampleOne.alert();
});

不能工作。

2 个答案:

答案 0 :(得分:3)

var alert = function是一个本地函数,无法在该对象外部访问。如果您希望可以使用新实例访问它,请使用this声明它:

function Object(name, button) {
    this.name = name;
    this.button = button;
    this.alert = function () {
        alert("x");
    };
}

小提琴:http://jsfiddle.net/qow3qu0m/2/

答案 1 :(得分:0)

它为我工作。再次检查您的代码。也许你忘了包含jQuery?

ExampleOne.button.click(function(e) {
  alert('success!');
});

http://codepen.io/anon/pen/yyGpLz