我有一个小问题。 IE 8中不支持输入框的占位符属性。
有没有一种方法可以为此添加支持?
答案 0 :(得分:0)
您可以随时使用其他插件,例如
任何一个都可行:)
我建议第一个。它对我有用!
最后2个不需要任何JQuery!
可能重复 - > How to support placeholder attribute in IE8 and 9
答案 1 :(得分:0)
好的,这里有一些非常快速,肮脏和未经测试的东西(字面上输入了我的手机),但这可能是你要去的路线。我们的想法是将span添加到包含文本输入的元素,并通过CSS绝对将其“放在”文本输入上。您可以使用占位符和数据占位符将占位符文本放入输入中。您甚至可能只使用占位符。
P.S。 jQuery不是强制性的。
// include jQuery somewhere
function getPlaceholder(obj, parent=false) {
var ph = obj.data('placeholder');
if ( ph !== undefined && ph !== false) {
if (!parent) {
parent = obj.parent();
}
if ( !parent.find(".ph").length ) {
parent.append('<span class="ph">'+ph+'</span>');
}
}
}
// on page load
$("input[type=text]").each(function() {
getPlaceholder($(this));
});
$(document).on('change', 'input[type=text]', function() {
var curVal = $(this).val();
var phtext = $(this).parent().find(".ph");
if (phtext.length) {
if ( curVal === "" ) {
phtext.show();
}
else {
phtext.hide();
}
}
});