<div id="topDiv"> <input id="txtKeyword" type="text" /> </div>Mi propósito es hacer que txtKeyword se enfoque cuando la página se enfoca. Mi código,
window.addEventListener("focus", function(event) { setTimeout(function(){ txtKeyword.focus(); }, 100); });Eso funciona bastante bien cuando solo hay un elemento de texto allí. Cuando agrego otro elemento de texto,
<div id="topDiv"> <input id="txtCmd" type="text" /><input id="txtKeyword" type="text" /> </div>cuando hago clic en txtCmd para que la página se enfoque, no quiero que el enfoque se restablezca a txtKeyword, solo déjalo en txtCmd. Mi código,
window.addEventListener("focus", function(event) { if(document.activeElement === txtCmd){ return } setTimeout(function(){ txtKeyword.focus(); }, 100); });Intento comparar si el elemento enfocado actual es txtCmd, si es así, regrese. Sin embargo, cuando la página se enfoca al hacer clic en txtCmd, el elemento enfocado es topDiv en lugar de txtCmd. ¿Cómo compruebo si realmente hago clic en txtCmd?
Editar:
Para esta pregunta en particular, marque la función de tiempo de espera.
setTimeout(function(){ if(document.activeElement === txtCmd){ return; } txtKeyword.focus(); }, 100);