我試圖從用戶切換桌面上的標籤時(jQuery Mobile)文本輸入中刪除焦點。儘管我可以在下面的控制檯中正確識別activeElement,但我無法編輯其任何屬性或刪除其焦點。如何在更改制表符時從activeElement中移除焦點(onfocus/onblur)?
這是我在做什麼:
// inside some init method
window.onfocus = function() {
// triggers
console.log(document.activeElement);
if (document.activeElement.tagName !== "BODY") {
console.log("clear focus");
document.activeElement.blur();
document.activeElement.className = "FOOBAR";
}
};
當我在窗體上和焦點的文本輸入,然後切換到另一個選項卡,並返回到標籤與形式,事件監聽器觸發器和我仍然有效的輸入被正確記錄。但是,就是這樣......我無法模糊或編輯任何元素屬性。
問題:
如何正確地從有源元件無論是在window.onfocus
或window.onblur
移除焦點?
謝謝!
PS:它也不會用jQuery工作:
$(window).on("focus", function() {
$(document.activeElement).blur();
});
和我在尋找一個只有JavaScript解決方案。
編輯:
document.activeElement.blur()
工作正常,從控制檯,而不是從我的聽衆。
您是否嘗試將焦點更改爲另一個元素,例如:該文件? –
是。我剛剛解決了它。等一下,我發佈。 – frequent