javascript - Chrome 中的占位符文本后备事件问题

标签 javascript html google-chrome placeholder

我有一个文本字段,其中占位符文本为“名字”,因此当用户单击该字段时 文本消失,他可以输入文本

HTML

  <input class="fname" type="text" placeholder="First Name"/>

JS

function placeHolderFallBack() {
if("placeholder" in document.createElement("input")) {  
    return;     //In chrome it comes here
}else { 
    // works fine in IE8,FF 
    } 

所以基本上上面的代码在 Chrome 中不起作用,有什么想法吗?

最佳答案

在 chrome 和 safari 中,占位符属性适用于 keyup。当您开始打字时它就会消失。

如果确实需要,请尝试这种方法

演示 - http://jsfiddle.net/NL2Dr/2/

var ttext;

$('input').focus(function(){
    ttext = $(this).attr('placeholder');            
    $(this).removeAttr('placeholder');
});
$('input').blur(function(){
    $(this).attr('placeholder', ttext);
});

关于javascript - Chrome 中的占位符文本后备事件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878758/

相关文章:

javascript - 尝试将远程图像转换为 base64 数据的 CORS 错误

javascript - <JSP> 获取复选框的值

javascript - Chrome 扩展程序包含错误

css - 奇怪的 Chrome 图像大小调整行为

Javascript 正则表达式语法错误?

javascript - 从外部 ng-repeat 以 Angular 获取值

javascript - 如何限制用户仅从 google API 响应中选择城市

html - 如何使用css垂直和水平居中文本

jquery - 视频背景横幅(不是整页)

html - 如何让 Google Font API 中的连字显示在 Google Chrome 中?