如何在Safari中单击它时突出显示输入文本字段?

时间:2008-11-11 19:49:50

标签: javascript html 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中不起作用。 (注意:在字段之间进行制表时,它可以正常工作。)

2 个答案:

答案 0 :(得分:7)

我注意到Safari实际上正在选择文本,然后快速删除选择。

所以我尝试了适用于所有浏览器的快速解决方法:

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

编辑:
经过进一步测试后发现OnMouseUp事件正在清除选择,因此添加

就足够了
onMouseUp="return false;"

到输入元素,让事情按原样运作。

答案 1 :(得分:0)

这里不确定特定于Safari的解决方案,但另一种方法是将输入元素包装在div中并通过CSS设置它的边框属性。然后在聚焦和未聚焦时更改边框颜色等。

相关问题