У меня странная проблема. Когда я нажимаю на ссылку в IE7, окно сворачивается. Кажется, это только часть ссылок на странице. Это также не всегда происходит с той же ссылкой и отличается от компьютера к компьютеру.

Пример текста ссылки:
<a hidefocus="on" href="#" tabindex="1"><span unselectable="on" id="extdd-102">Canadian Legislation</span></a>

Кто-нибудь видел это раньше или есть идеи, что может быть причиной?

8
alumb 27 Авг 2010 в 20:13

4 ответа

Лучший ответ

Наконец-то разобрался. На самом деле это был пользовательский обработчик кликов JavaScript, который вызвал проблему .

Мой обработчик кликов вызывал activeElement.blur(); для текущего активного элемента (чтобы события, связанные с размытием, срабатывали при уничтожении элементов).

Проблема в IE, если вы вызываете размытие для всего, что не является INPUT, это минимизирует окно.

17
Jossef Harush 26 Фев 2015 в 06:30

Это произошло, когда я использовал обходной путь размытия, чтобы заставить атрибут placeholder работать в IE8. В качестве обходного пути я должен вызвать blur (), из-за чего браузер размывается (сворачивается в трей). Решение заключается в использовании:

$.each($('[placeholder]'), function(i,item){ item.blur();});

Который является только конкретным, что называется размытие.

Полный обходной путь заполнителя:

$('[placeholder]').focus(function() {
    var input = $(this);
    if (input.val() === input.attr('placeholder')) {
        input.val('');
        input.removeClass('placeholder');
    }
}).blur(function() {
    var input = $(this);
    if (input.val() === '' || input.val() == input.attr('placeholder')) {
        input.addClass('placeholder');
        input.val(input.attr('placeholder'));
    }
}).blur();

$(window).on('load', function () {
    if ( $('[placeholder]').length ){
    $.each($('[placeholder]'), function(i, item){item.blur();});
    }
});
0
Aus 19 Янв 2014 в 08:26

IE глючит, поэтому вы можете устранить неполадки, удалив "tabindex". Если это не сработает, попробуйте удалить «unelectable», а затем «hideonfocus». «Hideonfocus» звучит странно. Попробуйте сначала удалить это. У вас есть сторонние программы или плагины, которые взаимодействуют с IE? Это работает на другом компьютере?

0
alexyorke 28 Авг 2010 в 16:47

У меня была такая же проблема в Internet Explorer 10.

  • Internet Explorer 10 протестировал поведение:

Эта проблема возникает только при вызове функции blur () для элемента document.body.

Выпуск можно воспроизвести просто выполнив

 document.body.blur() 
  • Распространенный сценарий, в котором возникает эта проблема:

Вызов функции document.activeElement.blur () является наиболее распространенным сценарием, в котором возникает эта проблема, поскольку после первого вызова document.activeElement.blur () элемент body станет activeElement и последующий вызов document.activeElement.blur () вызвать размытие на элементе тела.

  • Решение:

Избегайте вызова функции document.body.blur (), если у вас есть jquery, вы можете ввести эту простую логику

 $(yourObj).is('body') 

Чтобы проверить, является ли ваш объект элементом body, чтобы избежать вызова функции blur () для него

4
Marcello Montemagno 7 Апр 2015 в 13:27