jQuery占位符/提示JavaScript保持提示的焦点
jQuery placeholder/hint JavaScript that keeps the hint on focus
有上百个jQuery占位符/提示插件。但是没有一个是我想要的
我在找一个可以:
- 当用户聚焦在字段上时淡出提示,但直到用户开始输入(如StackOverflow/iOS)才清除提示
- 将使用HTML5占位符属性。 使用jQuery构建的
- 跨浏览器(包括IE7/IE8)
- 使用不显眼的JavaScript
- 理想情况下也可以使用密码字段
@Roatin Marth是正确的;如果你要把文本当作占位符,它应该被清除。这就是占位符的定义。
尽管如此,我还是模拟了一个概念证明,欢迎您随意使用。然而,我必须使占位符文本如此轻以至于几乎看不到,以防止它过多地混淆前面的文本(这就是为什么默认行为是清除它)。
你可以看到它在工作:http://jsfiddle.net/zYQ4Q/4/
// Create placeholder input to serve as background
var $test = $('#test');
var $placeholder = $test.clone().removeAttr('id').removeAttr('placeholder').addClass('placeholder').val($test.attr('placeholder'));
var $container = $('<span class="placeholder-container"></span>');
$container.insertAfter($test).append($test).append($placeholder);
// Basic styling
$container.css({
position: 'relative'
});
$test.css({
position: 'absolute',
left: 0,
top: 0,
zIndex: 10,
backgroundColor: 'transparent',
borderColor: 'transparent'
});
$placeholder.css('color', 'transparent');
// Behavior for focus and blur to achieve the visual effect
$test.focus(function(){
var $input = $(this);
var $placeholder = $('.placeholder', $input.parent());
$placeholder.css('color', '#e0e0e0');
}).blur(function(){
var $input = $(this);
var $placeholder = $('.placeholder', $input.parent());
if ($input.val() == '')
$placeholder.css('color', 'transparent');
}).keyup(function(){
var $input = $(this);
if ($input.val().trim() != '') {
$placeholder.val('');
} else {
$placeholder.val($input.attr('placeholder'));
}
});
UPDATE:代码和jsfiddle已经更新,以反映基于OP评论的新变化。现在,占位符在输入文本后清除。
更新,感谢chrisdpratt,我已经找到了一个插件,可以做我想做的事情:
演示:http://labs.mario.ec/jq-watermark/
来源:https://github.com/marioestrada/jQuery-Watermark
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 单击时将焦点更改为元素
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 提示使用服务器端事件处理程序激活JavaScript
- 在IE9中的输入字段中输入焦点最近按钮
- d3.js Chord图的动态工具提示
- Javascript 可选类型提示
- Javascript游戏输入失去焦点
- 显示同时使用焦点的工具提示提示&悬停
- 无法将表单输入字段上的 JQuery UI 工具提示限制为仅在单击/焦点事件上显示
- 悬停和焦点上的响应式 jQuery 工具提示无法正常工作
- 带有链接焦点/鼠标悬停的D3倍数提示:十字瞄准焦点线不适合x轴
- 如何关闭引导工具提示自动获得可见后,单击和失去焦点或切换选项卡
- 关于输入焦点的提示
- 引导工具提示的焦点与不同的字段名称
- jQuery占位符/提示JavaScript保持提示的焦点
- 失去焦点工具提示从谷歌可视化折线图
- 引导工具提示触发焦点
- JQuery工具提示仅在输入字段焦点处可见
- Rails ERB文本/密码字段工具提示的焦点