JQuery - подтвердить () не работает в IE - PullRequest
2 голосов
/ 04 мая 2010

У меня есть простой скрипт, который работает во всех браузерах, кроме IE (8, еще не пробовал более низкие версии).

$('.deleteItemIcon').click(function() {
    var deleteConfirm = confirm('Do you really wanna delete that item?')
    if (!deleteConfirm) {
        return false;
    }
});

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

Ответы [ 7 ]

4 голосов
/ 19 мая 2010

Просто любопытно, для тех, у кого этот код не работает ... Используете ли вы IETester? У меня было несколько проблем с IE8 (при использовании IETester), и как только мне потребовалось 20 минут, чтобы перейти на ie8, я обнаружил, что код работает ... Просто мысль. Еще одно замечание, которое я прочитал и убедился, что я полностью обновился с IETester и все еще имел проблемы. Подтверждения и предупреждения не работали должным образом (если вообще ...) для ie8.

2 голосов
/ 04 мая 2010

Возможно, пропущенная точка с запятой после подтверждения?

Почему бы просто не изменить его на

return confirm('Do you really wanna delete that item?');
1 голос
/ 10 июля 2015

У меня была эта проблема с IE 9.0.39 и я заметил, что при использовании console.log("") была проблема.

Как только я закомментировал эту строку кода, она отлично заработала.

1 голос
/ 04 мая 2010
$('.deleteItemIcon').click(function() {
return confirm('Do you really wanna delete that');
});

попробуй вот так

вам не нужно помещать подтверждение в переменную и проверять его после того, как оно возвращает false. Подтвердите, что уже возвращает true или false, так что вы можете просто вернуть результат вашего confirm().

0 голосов
/ 13 января 2017

У меня была такая же проблема, и window.confirm ("Текст") работал для меня в IE, Crome и Firefox.

0 голосов
/ 20 июня 2013

Мой HTML:

<a href="/default.aspx?mode=Reset" id="rstPrtlts">Reset to default layout</a>

Это работает в Chrome, но не в IE:

$('#rstPrtlts').click( function() {return confirm('This will reset your widgets on the homepage. Are you sure?');});

Однако у меня есть очень похожий код на странице, который работает. Стоит отметить, что я имею в виду код из файла .js, загруженного со статического сервера.

Это работает как в Chrome, так и в IE:

$('#rstPrtlts').click( function(e) {if(confirm('This will reset your widgets on the homepage. Are you sure?')) { window.location = e.currentTarget.href;}});

Не знаю, почему первый код не будет работать. Я слышал несколько причин, IE блокирует функции, которые всегда возвращают false и т. Д. И т. Д.

0 голосов
/ 12 августа 2011

Я думаю, что это ваша сфера.

Вы должны использовать

var confirmed = window.confirm('Do you really wanna delete that item?');

Это работает для меня в Firefox сейчас; Я не знаю об IE, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...