2012-05-25 127 views
0

此代碼工作正常< = IE7,但它不能在Firefox中工作..我使用Firefox瀏覽器12.0 ..我不知道什麼原因..幫助將不勝感激..感謝..Javascript焦點不工作在Firefox中

<head> 
<script type="text/javascript"> 
    function getfocus(obj){ 
     if(obj.value.length==0){ 
     alert("Please enter something"); 
     obj.focus(); 
     } 
    } 
</script> 
</head> 

<body> 
    <input type="text" onblur="getfocus(this)" value="Get focus"> 
</body> 

</html> 
+0

Firefox究竟發生了什麼?你在期待什麼? – fcalderan

+0

哪部分不工作?它在哪裏破/停?您的JavaScript控制檯中有任何錯誤? –

回答

3

嘗試:

.... 
alert("Please enter something"); 
setTimeout(function() { 
    obj.focus() 
}, 10); 
+0

感謝Sudhir它的工作.. –

+5

是否有一個事實(源)的理性解釋,告訴我們爲什麼當事先顯示警告時不會觸發焦點?這有用,但我只是好奇。 –

1

有些瀏覽器,火狐顯着,具有用戶特定的設置,這些設置控制是否可以重點從用戶「竊取」。我認爲這可能是你的問題。

但是,您可能希望在此重新考慮您的策略,以確保用戶輸入一些文本。每次您將空白文本字段忽略時,都會彈出警告消息,對於大多數用戶來說,這會極其令人不快。

0

該代碼在FF 12和Chrome上對我都很好。 您需要清除輸入字段,然後離開該項目才能看到警報...

+1

我非常懷疑... – Christoph

+0

爲什麼?拿起代碼並嘗試它 - 它的工作。 –

+0

http://jsfiddle.net/cC3fE/ – Christoph