Javascript 无法在IE中的输入字段上设置只读

Javascript 无法在IE中的输入字段上设置只读,javascript,jquery,google-chrome,internet-explorer,Javascript,Jquery,Google Chrome,Internet Explorer,我有一个简单的输入字段: <input id="myInput" class="someClass"></input> 其中e.currentTarget是IE11命名的[object HTMLInputElement] 我只是想将这个输入字段设置为只读。在chrome中,该代码有效,但在IE中无效。 我已经试过了: .prop('readonly','readonly'); .prop('readonly', ''); .attr('readonly', true);

我有一个简单的输入字段:

<input id="myInput" class="someClass"></input>
其中
e.currentTarget
是IE11命名的
[object HTMLInputElement]

我只是想将这个输入字段设置为只读。在chrome中,该代码有效,但在IE中无效。 我已经试过了:

.prop('readonly','readonly');
.prop('readonly', '');
.attr('readonly', true);
但是它们在IE11中都不起作用(在chrome中,它们每个人都起作用)

好吧,这很奇怪:如果你在字段有焦点时将其设置为只读,IE11看起来有点疯狂,其中一种疯狂的方式是让你在光标存在时不断修改字段——只需一些按键,而不是其他按键。下面是一个例子:


旁注:您不需要jQuery来设置
readOnly
属性,只需:

e.currentTarget.readOnly = true; // Note the capital O
好吧,这很奇怪:如果在字段具有焦点时将其设置为只读,IE11似乎有点疯狂,其中一种疯狂的方式是让您在光标存在时继续修改字段-只需一些按键,而不是其他按键。下面是一个例子:


旁注:您不需要jQuery来设置
readOnly
属性,只需:

e.currentTarget.readOnly = true; // Note the capital O

“只读”输入元素在IE 8、9、10或11中的工作不一致


在这种情况下,我们可以在输入元素中使用onkeydown=“javascript:return false;”“

“只读”输入元素在IE 8、9、10或11中不一致

在这种情况下,我们可以在输入元素中使用onkeydown=“javascript:return false;”“

我在jquery端使用了Focusin()函数,Id为。当我单击textbox时,我们删除readony属性,如下所示:

HTML:

}))

注意:它将在IE11和其他浏览器中工作。

我在jquery端使用了Focusin()函数,Id为。当我单击文本框时,我们删除readony属性,如下所示:

HTML:

}))


注意:它将在IE11和其他浏览器中工作。

您尝试过.attr('readOnly',true)@jrenk:如果
prop
不起作用,
attr
不会起作用。它可以正常工作。IE中的输入变为只读。(我使用了
$('input')
作为选择器)。@MrUpsidown:区别似乎在于所讨论的字段是否有焦点。@T.J.Crowder我没有得到这个。你的意思是,使用IE,该字段仍然可以集中?你尝试过.attr('readOnly',true)@jrenk:如果
prop
不起作用,
attr
不会起作用。它可以正常工作。IE中的输入变为只读。(我使用了
$('input')
作为选择器)。@MrUpsidown:区别似乎在于所讨论的字段是否有焦点。@T.J.Crowder我没有得到这个。你的意思是说,在IE的帮助下,球场仍然可以集中注意力?谢谢。但我知道这会给我带来严重的角度误差;)但这是另一个问题的主题。谢谢。但我知道这会给我带来严重的角度误差;)但这是另一个问题的主题。
$(e.currentTarget).blur();
e.currentTarget.readOnly = true; // Note the capital O
<input type="text" id="txtCustomerSearch" readonly class="customer-search" 
   placeholder="Search customer:" maxlength="100" autocomplete="off">
$("#txtCustomerSearch").focusin(function () {
    $(this).removeAttr('readonly');