Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Это виноват код или браузер? (https://javascript.ru/forum/misc/54135-ehto-vinovat-kod-ili-brauzer.html)

chelkaz 04.03.2015 21:12

Это виноват код или браузер?
 
Добрый день.
Дело в том, что только на ios я обнаружил такую ошибку.
Вот что показывает консоль:

TypeError: undefined is not an object (evaluating 'BX.PopupWindowManager.create')

А это то где происходит ошибка:

JCSmartFilter.prototype.showDropDownPopup = function(element, popupId)
{
var contentNode = element.querySelector('[data-role="dropdownContent"]');
BX.PopupWindowManager.create("smartFilterDropDown"+popupId, element, // ОШИБКА ПОКАЗЫВАЕТ НА ЭТУ СТРОКУ
{
autoHide: true,
offsetLeft: 0,
offsetTop: 3,
overlay : false,
draggable: {restrict:true},
closeByEsc: true,
content: contentNode
}).show();
};


Если смотреть лог, то в функцию все передает:
Первое значение получает [object HTMLDivElement]
Второе это число. Берутся в шаблоне, вот эта чать:

<div class="bx_filter_select_block" onclick="smartFilter.showDropDownPopup(this, '48')">
...
</div>


Во всех браузерах работает, а в ios Safari такая ошибка. Как исправить?


...

Aetae 04.03.2015 22:27

Учитесь читать ошибки. BX.PopupWindowManager - undefined. Никакие дивы тут ни при чём.


Часовой пояс GMT +3, время: 03:29.