Javascript 在输入字段中启用占位符,使其清空';在'之后;与onfocus相反的用户输入

Javascript 在输入字段中启用占位符,使其清空';在'之后;与onfocus相反的用户输入,javascript,jquery,html,Javascript,Jquery,Html,我想为HTML输入[type=text]元素使用占位符属性,以便占位符文本在用户开始键入后消失,而不是“onfocus”。类似于pivotal tracker上的登录页面: 到目前为止,我还没有使用占位符属性。相反,我在输入字段上使用了一个“onkeyup”事件,这样一旦用户键入第一个字符,它就会清空输入字段的内容。为此,我在输入元素上设置了一个名为“data received”的自定义属性,该属性默认为false,并且在用户键入第一个字符时设置为true。(这样它就不会继续清空字段)。我可以通

我想为HTML输入[type=text]元素使用占位符属性,以便占位符文本在用户开始键入后消失,而不是“onfocus”。类似于pivotal tracker上的登录页面:

到目前为止,我还没有使用占位符属性。相反,我在输入字段上使用了一个“onkeyup”事件,这样一旦用户键入第一个字符,它就会清空输入字段的内容。为此,我在输入元素上设置了一个名为“data received”的自定义属性,该属性默认为false,并且在用户键入第一个字符时设置为true。(这样它就不会继续清空字段)。我可以通过“解除”输入字段上的“keyup”方法来执行类似的操作

我对这种方法不太满意,我想知道是否有更好的方法可以做到这一点?

查看:

  • ()

使用了
占位符
属性(如果不使用JS),但请参见上面的链接,以跨浏览器的方式进行操作。

HTML5具有
占位符
属性,但它可能无法在所有浏览器中工作

有一个修复程序,可以在所有浏览器中使用

执行此操作的jQuery插件


好的,我想出来了。我也从zendesk网站上得到了一些线索。首先,不使用占位符属性。标签与位置为“绝对”的输入字段一起使用。其位置与与其关联的输入字段重叠。Javascript用于跟踪onkeyup事件,一旦它看到输入字段的值不是空的,它就会简单地隐藏关联的标签。如果您删除键入的内容,它会再次显示标签:)

我将采用与您描述的完全相同的方法。我可以看到的一个潜在的缺点是,右键单击+粘贴操作不会触发它。正如我在问题中提到的,占位符可以在用户开始键入后清除输入字段。。。不是“聚焦”,而是。您使用的是什么浏览器?我使用的是FF,正如您在该页面上看到的,作者仅使用onfocus和onblur来模拟占位符功能。我需要它在用户输入后工作。因此,如果用户单击文本字段,占位符文本仍然可见。他键入第一个字符,然后占位符文本不可见。用几个jQuery插件更新。看看这是否有帮助。正如我在问题中提到的,占位符可以在用户开始键入后清除输入字段。。。不是“聚焦”。该页上的示例都没有这样做。