占位符在 IE9 中不起作用

2023-11-29

我是 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 hack,但没有找到。 我发现了一些 javascript hack。

HTML5 占位符 jQuery 插件

https://github.com/mathiasbynens/jquery-placeholder

演示和示例

http://mathiasbynens.be/demo/placeholder

但我不想使用 jQuery hack 之类的。


由于 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;
    });
}

对模糊事件也执行相同的操作,然后这将模仿占位符属性。

[Edit]

好吧,经过重新思考(由于评论),这确实不是最优雅的解决方案(但它确实有效),所以我会完全忽略这个答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

占位符在 IE9 中不起作用 的相关文章

随机推荐