函数来替换占位符文本
Function to replace placeholder text
我们创建了一个函数来替代字段中的占位符文本,如果浏览器不支持占位符属性(即早期的IE浏览器),则该函数应运行。
然而,它似乎不起作用,我们也无法找出原因。你能看看怎么了吗?
setup_placeholders = (function() {
$.support.placeholder = false;
test = document.createElement('input');
if('placeholder' in test) {
$.support.placeholder = true;
return function() {}
} else {
return function(){
$(function() {
var active = document.activeElement;
$('form').delegate(':text', 'focus', function () {
var _placeholder = $(this).attr('placeholder'),
_val = $(this).val();
if (_placeholder != '' && _val == _placeholder) {
$(this).val('').removeClass('hasPlaceholder');
}
}).delegate(':text', 'blur', function () {
var _placeholder = $(this).attr('placeholder'),
_val = $(this).val();
if (!_placeholder && ( _val == '' || _val == _placeholder)) {
$(this).val(_placeholder).addClass('hasPlaceholder');
}
}).submit(function () {
$(this).find('.hasPlaceholder').each(function() { $(this).val(''); });
});
$(':text').blur();
$(active).focus();
});
}
}
})();
(function($) {
var safe = [];
$.fn.store = function() {
safe[$(this).attr('id')] = $(this).val();
$(this).click(function() {if ($(this).val() == safe[$(this).attr('id')]) $(this).val('');});
$(this).blur(function() {if ($(this).val() == '') $(this).val(safe[$(this).attr('id')]);});
};
}( jQuery ));
用法:
<input type="text" id="txt_field" name="txt_field" value="Placeholder">
<script>
$('#txt_field').store();
</script>
相关文章:
- 在不使用javascript的情况下,可以在表单字段中设置文本占位符(以提示最终用户插入特定格式)
- 如何更改文本区域的颜色's文本,具体取决于它是否为占位符
- 输入占位符文本转换CSS样式
- 谷歌翻译,输入类型='文本'中的占位符文本
- 文本区域的Internet Explorer占位符
- 函数来替换占位符文本
- 如何设置元素的占位符文本 我无法编辑 HTML 并且 ID 正在更改
- 初始化后更改输入字段的占位符文本
- IE10+上的AngularJS,带有占位符原因的文本区域“;无效参数&”;
- HTML:密码字段中的HTML5占位符属性问题 - 显示正常文本
- 通过jQuery在文本区域占位符内新建一行
- 单选插件的占位符文本不起作用
- 在空输入字段中显示占位符文本
- 基于PHP if条件更改文本区域占位符文本
- 如何缓慢地遍历 jquery 循环,并每次替换占位符文本
- 文本区域的自定义占位符
- 获取占位符文本的父节点
- 使用 javascript 获取母版页内容占位符中文本框的值
- 如何使用纯 JavaScript 在文本区域标签中定位占位符值
- 使用输入文本占位符在大写文本和普通文本之间切换