Html 当ie8文本框包含水印时,如何使其显示光标?

Html 当ie8文本框包含水印时,如何使其显示光标?,html,css,internet-explorer-8,Html,Css,Internet Explorer 8,我使用一个相对定位的跨距在一个透明的文本框后面创建一个水印。这在我需要的所有浏览器中都能正常工作,包括ie7、chrome和firefox。但是,在ie8中,如果直接单击水印,文本框似乎不会记录单击,光标也不会出现 我怎样才能解决这个问题 我已经在JSFIDLE上构建了一个演示 在ie8中,使输入字段以外的内容具有焦点,然后直接单击“输入名称”,光标将不会出现。但是,如果在其他浏览器(包括ie7)中也可以使用if,如果在水印前面单击,if也可以使用。我添加了一个解决方案,在水印本身中添加了一个

我使用一个相对定位的跨距在一个透明的文本框后面创建一个水印。这在我需要的所有浏览器中都能正常工作,包括ie7、chrome和firefox。但是,在ie8中,如果直接单击水印,文本框似乎不会记录单击,光标也不会出现

我怎样才能解决这个问题

我已经在JSFIDLE上构建了一个演示


在ie8中,使输入字段以外的内容具有焦点,然后直接单击“输入名称”,光标将不会出现。但是,如果在其他浏览器(包括ie7)中也可以使用if,如果在水印前面单击,if也可以使用。

我添加了一个解决方案,在水印本身中添加了一个单击功能,然后将焦点设置到文本框


您所称的“水印”通常被称为“占位符”。如果您不知道HTML5
占位符
属性,请查看它(如果我记得的话,IE8也不支持)

若要更改“在顶部”的元素,它应该可以正常工作

但是,由于您可能需要使用javascript隐藏
span.watermark
元素,因此我建议在输入上添加捕捉
blur
focus
事件,并更改输入值的样式和内容

大多数javascripts框架都有插件,如果您使用它们,它们将为您执行此操作。或者你也可以用一只手


如果您不想使用javascript,可以在输入上使用一点背景图像,并使用IE7/8支持的属性选择器显示/隐藏它。

我想我已经修复了它

有一个不带水印的输入和一个带水印的输入,因此您可以轻松地在输入之间进行制表。似乎可以在pc上的所有当前浏览器(如firefox、safari、opera)上运行。

需要在mac上进行一些测试。

谢谢Shaz,但它需要在ie中工作。谢谢Chris,但你在JSFIDLE上的示例在ie8中也不起作用。@Si:他的JavaScript解决方案确实起作用:如果我正确理解你试图达到的效果,那就是办法。当点击输入时,JavaScript解决方案工作正常,但在ie 8中使用tab时不起作用。我还没有找到一个适用于ie8的例子,但如果我找到了,我会把它贴在这里。