2008-11-11 83 views
4

我希望輸入文本框的值在獲得焦點時突出顯示,無論是通過單擊它還是對其進行標記。如何在Safari中單擊時突出顯示輸入文本字段?

<html> 
<body> 

<script> 
function focusTest(el) 
{ 
    el.select(); 
} 
</script> 

<input type="text" value="one" OnFocus="focusTest(this); return false;" /> 
<br/> 
<input type="text" value="two" OnFocus="focusTest(this); return false;" /> 

</body> 
</html> 

當在Firefox或IE中單擊任一輸入字段時,該字段將突出顯示。但是,這在Safari中不起作用。 (注:字段之間的互聯時的作品。)

回答

7

我注意到Safari實際上是選擇文本,然後快速刪除選擇。

所以,我想這個快速的解決方法,在所有瀏覽器上運行:

function focusTest(el) 
{ 
    setTimeout (function() {el.select();} , 50); 
} 

編輯:
在進一步測試它原來的OnMouseUp事件被清除的選擇,因此,就足以補充

onMouseUp="return false;" 

到的東西輸入元件的作用,因爲他們應該。

+0

OnMouseUP解決方案有效。謝謝! – Emmett 2008-11-11 20:41:48

0

不知道這裏關於具體的Safari瀏覽器的解決方案,但更好的方法是來包裝輸入元素的股利和通過CSS設置它的邊框屬性。然後在聚焦和未聚焦時更改邊框顏色等。

相關問題