我是salesforce(SFDC)开发人员。 在我输入框的visualforce页面中,我使用了占位符代码。
<div class="control-group">
<label class="control-label visible-desktop" for="first_name">First Name</label>
<div class="controls">
<input class="input-block-level" name="First Name" id="first_name" placeholder="First Name" value="" type="text" required="required" autofocus="autofocus" />
</div>
</div>
我在互联网上检查了一些CSS黑客,但我没有找到任何。 我发现了一些javascript hack。
HTML5占位符jQuery插件
https://github.com/mathiasbynens/jquery-placeholder
演示&amp;实例
http://mathiasbynens.be/demo/placeholder
但我不想使用jQuery hack或其他东西。
答案 0 :(得分:2)
由于IE9不支持占位符属性,你可以在Javascript / jQuery中这样做(快速编写,未经测试):
if(navigator.appVersion.match(/MSIE [\d.]+/)){
var placeholderText = 'Some Placeholder Text';
$('#first_name').val(placeholderText);
$('#first_name').blur(function(){
$(this).val() == '' ? $(this).val(placeholderText) : false;
});
$('#first_name').focus(function(){
$(this).val() == placeholderText ? $(this).val('') : false;
});
}
对模糊事件也一样,然后模仿占位符属性。
<强> [编辑] 强>
好的,经过重新思考(由于评论),这实际上并不是最优雅的解决方案(但确实有效),所以我完全不理会这个答案。
答案 1 :(得分:0)
if(navigator.appVersion.match(/MSIE [\d.]+/)){
$(document).find("input[placeholder]").each(function(){
if($.trim($(this).val()) == ""){
$(this).val($(this).attr("placeholder")).addClass('placeholder');
}
$(this).on("focus",function(){
$(this).hasClass('placeholder') ? $(this).val('').removeClass('placeholder') : false;
}).on("blur",function(){
$(this).val() == '' ? $(this).val($(this).attr("placeholder")).addClass('placeholder') :false;
});
});
}
答案 2 :(得分:0)
一个更简单的答案对我来说不是非常信任正则表达式(我的垮台)
function setPlaceHolderForIE9() {
var pos = window.navigator.userAgent.indexOf("MSIE");
if (pos > 0) {
if (window.navigator.userAgent.substring(pos + 5, window.navigator.userAgent.indexOf(".", pos)) < 10) {
//alert($("input[placeholder]").val($("input[placeholder]").attr("placeholder")));
$("input[placeholder]").each(function () {
$(this).val($(this).attr("placeholder"));
});
$("input[placeholder]").click(function () {
if ($(this).val() === $(this).attr("placeholder")) {
$(this).val('');
}
});
$('input[placeholder]').blur(function () {
if ($.trim($(this).val()).length === 0) {
$(this).val($(this).attr("placeholder"));
}
});
}
}
}