首先,我通过
测试了支持function SupportsInputPlaceholder() {
var i = document.createElement("input");
return "placeholder" in i;
}
$(document).ready(function(){
if(!SupportsInputPlaceholder()) {
alert("no support");
}
}
因此警报没有弹出。
但是在单击带占位符的输入字段并按下escape时,占位符文本将成为永久文本框文本。这不会发生在chrome中。
要解决此问题,我在文档加载
上尝试了以下代码$(document).ready(function(){
if(!SupportsInputPlaceholder()) {
alert("no support");
}
$("[placeholder]").keyup(function(e) {
var i = $(this);
var placehold;
placehold = i.attr("placeholder"); // this line has problem
if (e.keyCode == 27) {
alert("placeholder is " + placehold);
if (i.val() == i.attr("placeholder")) {
i.val("");
}
}
});
所以在打印警报(“占位符是”+占位符);占位值包含“” i.attr(“占位符”)不应该返回占位符文本吗?
答案 0 :(得分:0)
您的代码有错误:
if (i.val() == i.attr("placehold"))
那应该是
if (i.val() == i.attr("placeholder"))
// -----------------------------^^
答案 1 :(得分:0)
如果我用“http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js”src替换“js / jquery.min.js”src,问题就解决了
因此,该项目使用自己的占位符功能代码,该代码存在问题,而不是jquery占位符。