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