如何在原型中将jQuery变量设置为默认属性

时间:2019-03-26 14:03:17

标签: javascript jquery prototypal-inheritance

我想将模型/原型的默认属性设置为jQuery变量,但是当我尝试使用它时,该属性显示为未定义。

var dropdown = {
    $dropdownContinents: $(".ui.dropdown.continents"),
    create: function(values) {
        var instance = Object.create(this);
        Object.keys(values).forEach(function(key) {
            instance[key] = values[key];
        });
      return instance;
    },
    clickDropdown: function() {
        var continents = this.$dropdownContinents.dropdown('get value').split(",");
        events.emit('continentsChangedDropdown', continents);
    }
};


$(document).ready(function () {
    var mapDropdown = dropdown.create({});
    mapDropdown.$dropdownContinents.on("click", mapDropdown.clickDropdown);
});

我收到此错误:

mapDropdown.js:43 Uncaught TypeError: Cannot read property 'dropdown' of undefined
    at clickDropdown (mapDropdown.js:43)

在下拉菜单上单击。

我试图在创建对象时将其作为对象传递

    var mapDropdown = dropdown.create({$dropdownContinents:$(".ui.dropdown.continents")});

可以,但是我仍然想使用默认值。

0 个答案:

没有答案