Uncaught DOMException: не удалось выполнить 'querySelector' для 'Document': '#' не является допустимым селектором - PullRequest
0 голосов
/ 05 ноября 2018

Я использую эту замечательную ванильную версию jQuery on(), созданную ChrisFerdinandi

.
var on = function (event, elem, callback, capture) {
        if (typeof elem === 'function') {
            capture = callback;
            callback = elem;
            elem = window;
        }
        capture = capture ? true : false;
        elem = typeof elem === 'string' ? document.querySelector(elem) : elem;
        if (!elem) return;
        elem.addEventListener(event, callback, capture);
    };

И я получаю сообщение об ошибке в этой строке:

elem = typeof elem === 'string' ? document.querySelector(elem);

Когда я использую функцию здесь:

on('mouseover', '#' + rollOverCollectionA[i].id, function () {

и здесь:

on('mouseout', '#' + rollOverCollectionA[i].id, function () {

Похоже, мне нужен третий вариант, но я не уверен, как начать ...

или я должен просто использовать ==, как вместо этого предложил бы Кайл Симпсон?

elem = typeof elem === 'string' ? document.querySelector(elem) : elem;
...