2008-11-11 49 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设置它的边框属性。然后在聚焦和未聚焦时更改边框颜色等。

相关问题