JQuery Add/Remove 输入字段 IE 上的属性
JQuery Add/Remove Attribute On Input Field IE
我正在使用一些简单的 jquery 在用户点击输入字段时向输入字段添加帮助信息。
$('.amount').focus(function(){
$(this).attr('placeholder', '[=12=].00');
});
$('.amount').focusout(function(){
$(this).removeAttr('placeholder');
});
<div class="input-field">
<input id="amount" class="amount" name="amount" type="text" maxlength="15" class="validate" />
<label for="amount">Deposit Amount</label>
</div>
https://jsfiddle.net/f9mvyz5f/1/
当用户输入存款金额字段时,占位符 $0.00 变得可见 - 或者至少在 Chrome、Firefox 和 Edge 中是这样。但是,这在 IE11 中不起作用。这是 IE11 不支持的另一个属性吗?
您不需要 javascript 向输入添加有用的信息。只需将 placeholder="[=11=].00"
属性添加到输入中就足够了。
<div class="input-field">
<input id="amount" class="amount" name="amount" type="text" maxlength="15" class="validate" placeholder="[=10=].00" />
<label for="amount">Deposit Amount</label>
</div>
问题在于 Internet Explorer 11 使用占位符的方式略有不同。当用户没有将焦点放在输入上时显示占位符文本,但一旦输入获得焦点,占位符就会隐藏。所以在 Internet Explorer 11 上,没有其他浏览器中的行为(保留占位符文本,直到用户输入内容)。
有几个 polyfill 可以将占位符行为添加到旧浏览器,但这些 polyfill 仅在浏览器不支持占位符属性并且 Internet Explorer 11 支持该属性时才有效。
编辑 我添加了这个解决方案,以保持跨浏览器的相同体验。
我正在使用一些简单的 jquery 在用户点击输入字段时向输入字段添加帮助信息。
$('.amount').focus(function(){
$(this).attr('placeholder', '[=12=].00');
});
$('.amount').focusout(function(){
$(this).removeAttr('placeholder');
});
<div class="input-field">
<input id="amount" class="amount" name="amount" type="text" maxlength="15" class="validate" />
<label for="amount">Deposit Amount</label>
</div>
https://jsfiddle.net/f9mvyz5f/1/
当用户输入存款金额字段时,占位符 $0.00 变得可见 - 或者至少在 Chrome、Firefox 和 Edge 中是这样。但是,这在 IE11 中不起作用。这是 IE11 不支持的另一个属性吗?
您不需要 javascript 向输入添加有用的信息。只需将 placeholder="[=11=].00"
属性添加到输入中就足够了。
<div class="input-field">
<input id="amount" class="amount" name="amount" type="text" maxlength="15" class="validate" placeholder="[=10=].00" />
<label for="amount">Deposit Amount</label>
</div>
问题在于 Internet Explorer 11 使用占位符的方式略有不同。当用户没有将焦点放在输入上时显示占位符文本,但一旦输入获得焦点,占位符就会隐藏。所以在 Internet Explorer 11 上,没有其他浏览器中的行为(保留占位符文本,直到用户输入内容)。
有几个 polyfill 可以将占位符行为添加到旧浏览器,但这些 polyfill 仅在浏览器不支持占位符属性并且 Internet Explorer 11 支持该属性时才有效。
编辑 我添加了这个解决方案,以保持跨浏览器的相同体验。