Javascript 如何在考虑向后兼容性的情况下使用HTML5占位符属性?
我想使用HTML5的占位符属性(你可以在时事通讯中看到)。当然,当我使用旧浏览器时,它们不会呈现任何内容。我可以使用JavaScript来模仿它,但是,我不应该使用它,它是用老方法完成的。我如何既拥有HTML5占位符属性,又同时为旧浏览器模拟该属性?您可以检测浏览器是否支持该属性:Javascript 如何在考虑向后兼容性的情况下使用HTML5占位符属性?,javascript,html,browser,backwards-compatibility,Javascript,Html,Browser,Backwards Compatibility,我想使用HTML5的占位符属性(你可以在时事通讯中看到)。当然,当我使用旧浏览器时,它们不会呈现任何内容。我可以使用JavaScript来模仿它,但是,我不应该使用它,它是用老方法完成的。我如何既拥有HTML5占位符属性,又同时为旧浏览器模拟该属性?您可以检测浏览器是否支持该属性: 如果有,什么也不做。如果没有,您可以使用JS获取占位符值,然后根据需要将其插入字段(可能是默认值),然后添加适当的交互来模拟HTML5占位符行为 @margg编写了一个很棒的JQuery占位符插件,它基本上复制了那
如果有,什么也不做。如果没有,您可以使用JS获取占位符值,然后根据需要将其插入字段(可能是默认值),然后添加适当的交互来模拟HTML5占位符行为 @margg编写了一个很棒的JQuery占位符插件,它基本上复制了那些不支持占位符的浏览器的占位符功能 我搜索了很多占位符插件,然后决定使用这个插件,到目前为止效果很好。最初是在回答类似问题时发现的: 我建议使用来检测此功能
if (Modernizr.input.placeholder) {
// your placeholder text should already be visible!
} else {
// no placeholder support :(
// fall back to a scripted solution
}
如果您对使用这个库不感兴趣,可以使用下面的代码
function supports_input_placeholder() {
var i = document.createElement('input');
return 'placeholder' in i;
}
关于回退支持,如果您使用的是jQuery,那么您可以使用它,它起源于。这很有效。我只是不理解I中的
返回'placeholder'代码>零件。它在技术上做什么?这是什么意思?
中的操作符测试对象(在本例中是HTMLInputElement
对象)是否具有给定的属性。由于实现占位符
属性的浏览器也将占位符
属性添加到HTMLInputElement
界面,这是对占位符
的有效支持测试@Diogo您的编辑是一个全新的答案。请创建一个新答案,而不是编辑此答案。@Diogo crap。我想不是。奇怪的是,系统并没有保存这些数据。
function supports_input_placeholder() {
var i = document.createElement('input');
return 'placeholder' in i;
}