#jquery #internet-explorer-11
#jquery #internet-explorer-11
Вопрос:
У меня есть функция, которая хорошо работает во всех браузерах, но не в IE11. Это вызывает функцию, назначенную переменной:
var getStuff = function() {
alert('getting stuff');
...
}
И вот вызов, который, похоже, не работает в IE.
$('form input[name!="stuff"]').change(getStuff);
Что дает? Я пробовал альтернативные варианты, такие как использование .on («изменить» …), но безуспешно. Есть предложения?
Комментарии:
1. Ваш код, как предусмотрено (следовательно, с оговорками), отлично работает в IE11, только что протестировал его; но не могу предоставить скрипку / перо, поскольку IE11 слишком устарел. Итак: есть ли у вас какие-либо ошибки консоли? Вы запускаете свой js до или после того, как HTML существует? Вы добавляете HTML динамически? Это единственный код на странице или что-то еще ломается, прежде чем оно попадет в ваш код? Работает ли это в любом другом браузере (с другим кодом / без него) редактировать вы говорите, что это так, но как насчет только этого кода. Есть много вещей, которые не работают в старом IE11, но ни одна из них не указана в вашем вопросе.
2. Вот вся html-страница, протестированная в IE11: heypasteit.com/clip/0IUYEB — скопируйте это, сохраните как новый .html на вашем сервере и откройте в IE11 — работает ли это?
3. Отличные вопросы! Я обнаружил, что это связано с другой строкой в этой функции (обозначенной многоточиями). Спасибо за ваш вклад. Я бы предпочел не использовать IE11. Оно устарело. Однако некоторые пользователи все еще используют его, и поэтому мне приходится запускать на нем что-то еще. Что-то внутри функции выходит из строя в IE11, но работает в другом месте.
Ответ №1:
Попробуйте использовать инклюзивную форму вашего селектора $('form input[name!="stuff"]')
ИЛИ введите not или .filter()
форму not
$('form').find('input')
.not('[name="stuff"]')
.on("change", getStuff );`
Ответ №2:
Спасибо всем за ваш вклад. После дальнейшего изучения этого, это связано с способом создания объекта, и изменение jQuery действительно работает в IE11.
Комментарии:
1. Судя по вашему последнему комментарию и этому ответу, похоже, что вы нашли причину проблемы и возможное решение для нее. Я предлагаю вам попробовать отметить свой собственный ответ на этот вопрос через 48 часов, когда он будет доступен для пометки. В будущем это может помочь другим членам сообщества в подобных проблемах. Спасибо за ваше понимание.