event.preventDefault () функция, не работающая в IE

Я столкнулся с той же проблемой. jQuery mobile применяет классы во время выполнения, я пробовал вышеуказанные решения, но у меня это не сработало, затем я удалил форму класса ui-shadow <div data-role="navbar" class="ui-corner-all">, которая выполнила мое требование.

201
задан danwellman 11 October 2016 в 02:28
поделиться

3 ответа

в IE, вы можете использовать

event.returnValue = false;

для достижения того же результата.

А чтобы не получить ошибку, вы можете проверить наличие preventDefault:

if(event.preventDefault) event.preventDefault();

You их можно комбинировать с:

event.preventDefault ? event.preventDefault() : (event.returnValue = false);
467
ответ дан 23 November 2019 в 05:02
поделиться

Mootools переопределяет preventDefault в объектах событий. Таким образом, ваш код должен нормально работать в любом браузере. Если этого не происходит, значит, проблема с поддержкой ie8 в mootools.

Вы тестировали свой код на ie6 и / или ie7?

В документе говорится

Каждое событие, добавленное с помощью addEvent, автоматически получает метод mootools. , без необходимости создавать его вручную.

но в случае, если это не так, вы можете попробовать

new Event(event).preventDefault();
6
ответ дан 23 November 2019 в 05:02
поделиться

Вот функция, которую я тестировал с помощью jquery 1.3.2 и ночной сборки от 18.09.2009. Дайте мне знать о ваших результатах. С этой целью все работает нормально в Safari, FF, Opera на OSX. Он предназначен исключительно для исправления проблемной ошибки IE8 и может иметь непредвиденные результаты:

function ie8SafePreventEvent(e) {
    if (e.preventDefault) {
        e.preventDefault()
    } else {
        e.stop()
    };

    e.returnValue = false;
    e.stopPropagation();
}

Использование:

$('a').click(function (e) {
    // Execute code here
    ie8SafePreventEvent(e);
    return false;
})
2
ответ дан 23 November 2019 в 05:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: