回答:
やりたいことを行うには、 document.activeElement.blur()
Firefox 2をサポートする必要がある場合は、これも使用できます。
function onElementFocused(e)
{
if (e && e.target)
document.activeElement = e.target == document ? null : e.target;
}
if (document.addEventListener)
document.addEventListener("focus", onElementFocused, true);
document.activeElement.blur()
ています。この効果を達成するには、シンプルが最善の方法です。
.focus()
次に.blur()
、ページ上の任意の何か。フォーカスを持つことができる要素は1つだけなので、その要素に転送されてから削除されます。
overflow: clip
スタイル付き要素の境界の外に配置することもできます。ただし、ページに既に存在するフィールドを使用することもできます。または、目的のためだけに作成して、もう一度削除します。
document.activeElement.blur();
IE9では正しく動作しません-アクティブな要素がドキュメントボディの場合、ブラウザーウィンドウ全体がぼやけます。このケースを確認することをお勧めします:
if (document.activeElement != document.body) document.activeElement.blur();
TypeScriptを使用する場合、選択された要素の種類がわからない可能性があるため、ここで提供される答えは完全に正しいものではありません。
したがって、これが推奨されます。
if (document.activeElement instanceof HTMLElement)
document.activeElement.blur();
結果として生じるぼかしは公式の仕様の一部ではなく、いつでも壊れる可能性があるので、私はさらに、受け入れられた回答で提供されているソリューションを使用しないようにします。