Как привязать контекст данной функции, чтобы он не был равен 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?