我有奇怪的問題。當我點擊IE7中的鏈接時,窗口最小化。它似乎只是頁面上鍊接的一個子集。它也不會始終發生在同一個鏈接上,並且因計算機而異。當鏈接被點擊時,IE隨機最小化
例如鏈接文本:
<a hidefocus="on" href="#" tabindex="1"><span unselectable="on" id="extdd-102">Canadian Legislation</span></a>
沒有人見過這個或有任何想法可能造成的呢?
我有奇怪的問題。當我點擊IE7中的鏈接時,窗口最小化。它似乎只是頁面上鍊接的一個子集。它也不會始終發生在同一個鏈接上,並且因計算機而異。當鏈接被點擊時,IE隨機最小化
例如鏈接文本:
<a hidefocus="on" href="#" tabindex="1"><span unselectable="on" id="extdd-102">Canadian Legislation</span></a>
沒有人見過這個或有任何想法可能造成的呢?
終於搞明白了。它實際上是定製的JavaScript點擊處理程序,導致問題。
我的點擊處理程序在當前活動元素上調用activeElement.blur();
(這樣當元素被銷燬時,與模糊相關的事件被觸發)。
問題出在IE中,如果你對任何不是INPUT的模糊調用,它會最小化窗口。
IE是越野車,所以你可以通過刪除「tabindex」來排除故障。如果這不起作用,請嘗試刪除「不可選擇」,然後「隱藏焦點」。 「Hideonfocus」聽起來很奇怪。嘗試先刪除。你有任何第三方程序或插件與IE交互?它在另一臺計算機上工作嗎?
這發生在我使用模糊解決方法獲取佔位符屬性以在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();});
}
});
我對Internet Explorer中的同一個問題10
此問題只發生在你調用document.body元素的blur()函數。
問題可以在您的瀏覽器控制檯中簡單執行
document.body.blur()進行重現。
document.activeElement.blur()函數調用是在document.activeElement.blur的第一次調用後出現,因爲這個問題最常見的場景( )body元素將成爲activeElement,隨後調用document.activeElement.blur()將調用body元素上的模糊。
避免document.body的。模糊()函數調用,如果您有jQuery的,你可以介紹這個簡單的邏輯
$(yourObj).is('body')
檢查,如果你的目標是body元素,以避免它
偉大..非常有用! – Xstian 2015-04-07 13:49:42
這個模糊()函數調用是第一個谷歌響應,我得到了同樣的問題,但解決方案是不一樣的。當你試圖模糊一個隱藏的輸入時,IE似乎完全一樣。或者是一個未附加的輸入。 – Magus 2012-12-03 17:20:57
是恨IE的另一個原因! – geedubb 2013-06-10 14:47:55
這是關於世界上稱爲IE的最好工具的邏輯。 :-P在2015年閱讀本文時,請停止使用和開發IE 7,8和9,並且最重要的是:不要試圖在舊版軟件中修復錯誤,以使您的客戶受到歡迎。請不要爲了更好的互聯網世界而做。 – Codebeat 2015-04-14 05:35:02