HTML5里面一个非常不错的扩展功能就是可以在文本框上面增加占位文本。占位文本(PlaceHolder)是指当一个文本框没有被focus的
时候显示的是提示文字,当他被点击之后就显示空白。这个功能很不错,但是并不是所有的浏览器都支持。这篇文章就来讨论一下怎样用比较简单的方法可以让所有
浏览器都支持这个特性。
这里是例子
这里可以下载
传统的解决办法
在我们有这个属性之前,我们一般是通过Javascript来实现这个效果。
这段文字被设置在value属性里面,当聚焦了之后,检验文本框的值是否等于默认值,如果是则清空文本框。当文本框失去焦点的时候,再检查是否为空,为空
则再写上默认值。这个方法很不高效,而且每个文本框都得去检测。
<input
type
="text"
value
="Search"
onfocus
="if (this.value == 'Search') {this.value = '';}"
onblur
="if (this.value == '') {this.value = 'Search';}"
>
|
jQueyr 占位文本
现在有了HTML5之后,通过placeholder属性来设置就比value设置语义化的多了。然而,这个属性并不是所有的浏览器都支持,所以我们需要jQuery和Modernizr的支持。
在这里Modernizr是用来检测浏览器是否支持一些HTML5属性的。如果浏览器不支持,那么再运行jQuery代码。他会先找到所有带
PlaceHolder属性的元素,然后存储在一个变量中。然后会将元素的value和这个变量对比,如果为空则显示placeholder里面的内容,
并且会增加一个”placeholder”的css样式。
如果你想在你的网站中使用这个东西,需要引入jQuery
和Modernizr
,注意放置在合适的路径下,然后把下面的代码复制进去。
<
script src=
"jquery.js"
></
script>
<
script src=
"modernizr.js"
></
script>
$(
document)
.ready
(
function
(
)
{
if
(
!
Modernizr.input
.placeholder
)
{
$(
'[placeholder]'
)
.focus
(
function
(
)
{
var
input =
$(
this
)
;
if
(
input.val
(
)
==
input.attr
(
'placeholder'
)
)
{
input.val
(
''
)
;
input.removeClass
(
'placeholder'
)
;
}
}
)
.blur
(
function
(
)
{
var
input =
$(
this
)
;
if
(
input.val
(
)
==
''
||
input.val
(
)
==
input.attr
(
'placeholder'
)
)
{
input.addClass
(
'placeholder'
)
;
input.val
(
input.attr
(
'placeholder'
)
)
;
}
}
)
.blur
(
)
;
$(
'[placeholder]'
)
.parents
(
'form'
)
.submit
(
function
(
)
{
$(
this
)
.find
(
'[placeholder]'
)
.each
(
function
(
)
{
var
input =
$(
this
)
;
if
(
input.val
(
)
==
input.attr
(
'placeholder'
)
)
{
input.val
(
''
)
;
}
}
)
}
)
;
}
</
script>
|
去除Webkit搜索框样式
Webkit内核的浏览器会给搜索框增加一些额外的样式,通过下面的CSS可以去掉这个样式:
input[
type=
search]
{
-webkit-appearance:
none
;
}
input[
type=
"search"
]
:
:-webkit-search-decoration
,
input[
type=
"search"
]
:
:-webkit-search-cancel-button
{
display
:
none
;
}
引用地址:http://t.andycn.com/tb.php?sc=1e5b25&id=83
分享到:
相关推荐
为了增强用户体验和视觉吸引力,开发者们创造出了HTML5 input placeholder文本占位符动画插件。 这个插件的主要目标是为`placeholder`文本提供动态效果,比如淡入淡出、滑动、颜色变化等,使得页面更具活力和互动性...
总之,JavaScript版的`placeholder`解决方案是为了解决老旧浏览器不支持HTML5 `placeholder`属性的问题。通过编写少量的JavaScript代码,我们可以让所有用户都能享受到一致的Web界面交互,无论他们使用的是什么...
在网页设计中,为了给用户提供更好的交互体验,我们经常会在输入框(input)或文本区域(textarea)中设置占位文本(placeholder),它是一种提示性文字,帮助用户了解应该输入什么样的内容。然而,有时我们可能希望自定义...
总结来说,"网页内容placeholder占位特效.zip"中的项目展示了如何通过HTML5的`placeholder`属性,配合jQuery和CSS来实现跨浏览器的占位符特效。这样的效果可以提高用户的交互体验,使网页表单更易用。在实际开发中,...
此jQuery Placeholder插件是HTML5占位符属性的增强polyfill。 特征 跨浏览器和跨样式 支持所有输入类型,密码,文本区域,文本,电子邮件,搜索,URL等。 稳健:它的行为完全符合规范中定义HTML5占位符 规范现代...
foxholder.js是一款高效且功能丰富的jQuery插件,它的主要功能是在用户输入表单前显示提示文本,也就是我们常说的占位符(placeholder)。这些占位符不仅起到了提示作用,还带有15种不同的动画效果,为用户提供了更...
这将确保ng-placeholder文本值可在所有浏览器中正常运行,并尽可能使用HTML5功能。 您也可以使用以下格式: <input type="text" ng-placeholder="This is placeholder text" /> 执照 该代码已获得MIT的许可...
`jQuery Placeholder`是一个jQuery插件,专门用于在不支持`placeholder`属性的浏览器中实现文本输入框的占位符功能。在HTML5中,`placeholder`属性被引入,允许开发者在输入字段内设置一个提示文本,该文本会在用户...
Chrome支持input=[type=text]占位文本属性,但下列CSS样式却不起作用: CSS 复制代码代码如下: input[placeholder], [placeholder]...我在浏览器里安装了jQuery占位文本插件,但仍然无用。(!important只有IE7和firefo
占位文本是HTML5新增的一个功能,用于在输入框中提供提示性文字,指导用户如何正确填写表单。添加`placeholder`属性即可实现这一功能,如: ```html <input type="text" id="user" name="user" placeholder="输入...
而 "jquery-placeholder" 插件是针对那些不支持 HTML5 `placeholder` 属性的浏览器,提供了一个简单易用的解决方案。 ### 2. 使用方法 首先,你需要在项目中引入 jQuery 库和 "jquery-placeholder" 插件的 ...
Placeholder.js 是一个专门为网页设计和开发人员打造的轻量级JavaScript库,它的主要功能是在浏览器端自动生成占位图片。这个库的体积非常小,小于1KB,这意味着它对页面加载速度的影响微乎其微,非常适合优化网页...
在Bootstrap 3中,`bootstrap.js`提供了`input-group`类,可以创建带有占位符文本的输入框。然而,对于`placeholder`属性本身的兼容性,Bootstrap并没有提供专门的解决方案。所以,你可能需要结合上述的JavaScript...
`jQuery Placeholdem`是一款优秀的JavaScript插件,专门用于为那些不支持HTML5原生`placeholder`属性的老式浏览器提供动态占位符效果。此插件通过CSS和jQuery库实现,使得在任何浏览器上都能享受到与HTML5一致的占位...
8. **占位符属性(placeholder)**:在HTML5中,输入框()可以使用`placeholder`属性设定提示文本,显示在输入框内,有助于用户理解应输入何种内容。如`<input type="text" placeholder="搜索关键词">`,在用户开始...
在网页设计中,输入框(`<input>`)的占位符(`placeholder`)属性是一种非常实用的功能,它可以在用户输入前提供提示文本。HTML5引入了这一原生属性,使得开发者能够轻松地在输入框中添加提示信息。默认情况下,...
jQuery Placeholder 是一个实用程序,用于在 IE 和非 html5 兼容浏览器中启用 HTML5 占位符文本,由开发,现已集成到 Rails 资产管道中。 有关更多详细信息,请参阅 。 安装 将此行添加到应用程序的 Gemfile 中: ...
总的来说,jQuery打字动画文本占位符特效是通过结合HTML5的`placeholder`属性、CSS的样式控制和jQuery的动画功能来实现的。这个特效不仅可以提升网页的视觉吸引力,还能为用户提供更友好的交互体验。在学习和应用这...