HTML文本框,自动高亮显示文本

5

如何制作一个文本框,其中包含预先存在的文本,当用户在其中点击时,文本框内所有文本都会被突出显示。例如,YouTube在其视频的嵌入代码的文本框中所做的方式相同。谢谢。

1个回答

10

如果我正确理解了你的问题,你可以使用一些 JavaScript(未经测试的代码):

<script language="JavaScript">
  function selectText(textField) 
  {
    textField.focus();
    textField.select();
  }
</script>

<input type="text" name="sometext" size="100" value="The Text" onClick='selectText(this);'>
你可以将脚本放在<head>和</head>标签之间。

谢谢,这个很好用。快速跟进一下,我想在文本框中放置一些可以复制和粘贴的JavaScript代码,但似乎会出问题,有没有办法在其中使用JavaScript文本? - smith
没事了,将双引号改成单引号就解决了。 - smith
为了保持正常功能,我会添加一个保护条件,只有在鼠标弹起时才selectText(),如果(1)没有选择其他文本或(2)在鼠标按下时选择了文本。 - jozxyqk
这段代码的核心是 .select();,它可以按照您的意愿进行实现,通常我会使用 document.getElementById 而不是将 HTML 元素设置为变量。 - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接