Я создаю этот класс, используя чистый javascript:
var SelectFeature = /*@__PURE__*/(function (Select) {
function SelectFeature() {
Select.call(this, {
condition: ol.events.condition.click
});
}
this.on('select', function (e) {
//some logic
});
if (Select) SelectFeature.__proto__ = Select;
SelectFeature.prototype = Object.create(Select && Select.prototype);
SelectFeature.prototype.constructor = Select;
return SelectFeature;
}(ol.interaction.Select));
, как вы можете видеть, я передаю ol.interaction.Select в качестве параметра классу и использую метод Select.call () в SelectFeature в качестве конструктора.
Вот описание класса ol.interaction.Select.
Класс ol.interaction.Exlect имеет члена, который называется getFeatures ( ). Я пытаюсь получить доступ к этому методу при щелчке по некоторому элементу DOM (этот блок находится внутри класса SelectFeature):
$("#popupFeat-closer").click(function () {
this.getFeatures();
});
Приведенный выше код запускается при нажатии на элемент DOM, но в этой строке:
this.getFeatures();
Я получаю эту ошибку:
Uncaught TypeError: this.getFeatures is not a function
Мой вопрос, как я могу получить доступ к функции getFeatures, которая находится в обработчике события click?