我在JavaScript中擁有以下函數if
語句的每個部分都正確執行,除了將焦點返回給調用函數的元素。它在IE或Fire Fox中不起作用,並且瀏覽器都不給我一個錯誤。它看起來對我來說是正確的... 爲什麼它不工作?JavaScript不會將焦點傳遞給元素
function check(x){
//doing some stuff
if (uc_check == false){
window.alert('Houston, we have a problem.');
document.getElementById(x).value = '';
document.getElementById(x).focus(); //this line is not working
}
}
P.S.我從一個表單輸入調用這個函數是這樣的:
onchange="check(this.id)"
我剛剛準備回帖,並說我認爲它正在做你說的那些事情(儘管我不知道爲什麼),當我閱讀你的文章。這很好,但你能解釋一下'function {el.focus();}'在做什麼?我想了解爲什麼這是行得通的。 – ubiquibacon 2010-06-22 06:00:14
@typoknig - 它只是在100毫秒後調用focus()函數。 – nickf 2010-06-22 06:09:20
事實上,正如nickf指出的那樣,它只是延遲了100毫秒的焦點。這會讓您的onChange功能完成時間(以及隨後的焦點更改)。 – desau 2010-06-22 06:11:46