Как привязать контекст данной функции, чтобы он не был равен window

Есть функция

JCSmartFilter.prototype.showDropDownPopup = function(element, popupId) {
    var contentNode = element.querySelector('[data-role="dropdownContent"]');
    console.log('showDropDownPopup this element: ');
    console.log(element);
    BX.PopupWindowManager.create("smartFilterDropDown"+popupId, element, {
        bindElement: element,
        autoHide: true,
        offsetLeft: 0,
        offsetTop: 3,
        overlay: false,
        draggable: {restrict:true},
        closeByEsc: true,
        content: contentNode
    }).show();
};

вызывается она следующим образом:

<div class="bx_filter_select_block" onclick="smartFilter.showDropDownPopup(this, '<?=CUtil::JSEscape($key)?>')">

Далее, при переходе на любой элемент всплывающего окна происходит перезагрузка и выводит результаты фильтра, но всплывающее окно привязывается к window и улетает на верхний левый угол:

JCSmartFilter.prototype.selectDropDownItem = function(elem, controlId) {
    this.keyup(BX(controlId));
};
JCSmartFilter.prototype.keyup = function(input) {
    setTimeout(BX.delegate(function(){
        this.reload(input);
    }, this), 500);
};

Каким образом зафиксировать this функции showDropDownPopup?


Ответы (0 шт):