IE 10/11中停用输入[type =" text"]的占位符

时间:2014-03-17 16:10:58

标签: javascript html html5 internet-explorer-10 internet-explorer-11

情况1

为什么占位符可以在已停用的input[type="text"]中选择?

<input name="minMax2" disabled="disabled" id="minMax2" type="text"  
                      placeholder="min. 100 / max. 200" min="100" max="200">

情况2

我甚至有一个奇怪的情况,我可以在占位符中键入文本但如果我单击一个已停用的文本字段但是因为我已经离开另一个字段并且附加的更改事件确实启用了datepicker

有什么想法吗?我错过了什么或者这是Internet Explorer 10和11的错误吗?

2 个答案:

答案 0 :(得分:2)

看起来这是一种浏览器行为。作为替代方案,您可以保持启用(如果需要,将其设置为已禁用)并添加属性onfocus="this.blur()"

此处修改了您的演示:http://jsfiddle.net/a8ezd/1/

答案 1 :(得分:1)

我根据自己的理解对你的jsfiddle进行了一些修改。在你的jsfiddle中你包含了jQuery,所以我想我会添加到你的脚本中。我刚刚更改了您在输入中声明已禁用的方式,并对脚本进行了更改,以便现在删除焦点上禁用的属性。

$('#test3').prop("disabled", false).focus();

http://jsfiddle.net/a8ezd/3/

如果你想进一步做到这一点,那么用户甚至不能轻微地选择占位符。禁用然后您可以通过添加以下相应的浏览器前缀来改变css中的用户选择:

user-select:none; 

这里的例子:

http://jsfiddle.net/a8ezd/4/