У меня есть вход, который в некоторых точках имеет фокус. Если пользователь нажимает на «фон» страницы, ввод теряет фокус. Я пытался смоделировать щелчок по фону с помощью следующего кода, но это не сработало (вы заметите, что ввод по-прежнему имеет фокус). Любое предложение о том, как написать код, имитирующий нажатие на «фон» страницы?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type="text/javascript" src="http://yui.yahooapis.com/2.6.0/build/yahoo/yahoo-min.js" ></script> <script type="text/javascript" src="http://yui.yahooapis.com/2.6.0/build/event/event-min.js" ></script> <script type="text/javascript"> YAHOO.util.Event.onDOMReady(function() { document.getElementById("input").focus(); document.getElementById("main").focus(); }); </script> </head> <body> <div id="main"> <form action="/"> <p> <input type="text" id="input"/> </p> </form> </div> </body> </html>
Я думаю, что использование blur() поможет:
blur()
<script type="text/javascript"> YAHOO.util.Event.onDOMReady(function() { document.getElementById("input").focus(); document.getElementById("input").blur(); }); </script>
Попробуйте использовать событие blur. Если вы используете jQuery, есть метод, который вы можете вызвать для объекта DOM, чтобы вызвать это событие. Метод blur() также должен работать без jQuery.
blur
http://docs.jquery.com/Events/blur