Не срабатывает метод focus в js (*)
Не работает метод .focus()
у элемента Input.(id="renameaction")
.
Вызывается в момент нажатия на кнопку (div id="win_rename")
.
Этот элемент (id="renameaction")
исчезает и появляется с помощью display:none/display:block
.
После того как появляется (идет обращение к renameshow) он должен появляться и пользовательский ввод должен быть сфокусирован на этом элементе.
browser chrome, os win 7.
Срабатывает только в первый раз - при запуске, предполагаю, из-за наличия атрибута autofocus, если элемент скрыть и снова показать, то фокусировки на него не будет.
Как решить и что неправильно работает?
<div id="win_rename" value=''>Переименовать</div>
...
<input type='text' autofocus style='display:none;border #000 solid 1px;' id="renameaction" value="null" >
...
function renameshow(){
disableactions();
var rel = document.getElementById("renameaction");
rel.style.zIndex = '5000';
rel.style.display = 'block';
rel.style.position = 'absolute';
var el = document.getElementById("contentelementselected");
if (!el) var el = document.getElementById("contentfolderselected");
rel.style.width = parseInt(winquery[0].wincontent.style.width)-44;
rel.value = el.innerHTML;
winaction.elementid = el;
rel.style.height=19;
el.appendChild(rel);
rel.focus();
}
function disableactions(){
var back = document.getElementById("win_back");
var open = document.getElementById("win_open");
var openInExplorer = document.getElementById("win_openInExplorer");
var copy = document.getElementById("win_copy");
var paste = document.getElementById("win_paste");
var filedelete = document.getElementById("win_delete");
var rename = document.getElementById("win_rename");
back.style.display='block';
open.style.display='none';
openInExplorer.style.display='none';
rename.style.display='none';
filedelete.style.display='none';
copy.style.display='none';
if (copyobj=='null')
paste.style.display='none';
else
paste.style.display='block';
var addfav = document.getElementById("win_addfav");
addfav.style.display='none';
winaction.addfav.style.display='none';
}
Полный код: https://dl.dropboxusercontent.com/u/44864159/www.rar
Источник: Stack Overflow на русском