重新制作的步骤
使用 Internet Explorer
我们无法进入文本框
4.再次单击文本框。现在我们将能够在文本框中输入文本
我们试过了
1.使属性readOnly为flase,即$('#myinput')。attr('readOnly',false);
2.调用$('#myinput')。click();
以下是HTML代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Make input read only</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js"></script>
</head>
<body>
<input id="myinput" type="text" />
<input id="mycheck" type="checkbox" />
<script type="text/javascript">
/*oncheck box click*/
$('#mycheck').click(function () {
if ($(this).attr('checked')) {
$('#myinput').attr('readOnly', 'readOnly');
}
else {
$('#myinput').removeAttr('readOnly');
/* also tried
* $('#myinput').attr('readOnly', false);
* $('#myinput').attr('readOnly', '');
*/
}
});
/*on text box click*/
$('#myinput').click(function () {
$('#mycheck').removeAttr('checked');
$('#myinput').removeAttr('readOnly');
/* also tried
* $('#myinput').attr('readOnly', false);
* $('#myinput').attr('readOnly', '');
*/
});
</script>
</body>
</html>
答案 0 :(得分:2)
您需要将readonly属性设置为“
”$('#myinput').attr('readOnly', '');
答案 1 :(得分:1)
我遇到了同样的问题,并在stackoverflow上报告了它,在我找到它的时候一秒......
修改: Found it.
如果您阅读我的帖子,它也会解释发生了什么。实际上,文本框实际上已解锁(与Tyde尝试的不同)。问题与焦点/选择有关。
答案 2 :(得分:0)
function preventBackspace(e) {
var evt = e || window.event;
if (evt) {
if (evt.srcElement.getAttribute('readonly')) {
var keyCode = evt.charCode || evt.keyCode;
if (keyCode === 8) {
if (evt.preventDefault) {
evt.preventDefault();
} else {
evt.returnValue = false;
}
}
}
}
}
我有一个方案,文本框将在readonly和amp;之间切换。可编辑,所以我添加了帮助的条件if (evt.srcElement.getAttribute('readonly'))
。
答案 3 :(得分:0)
使用此For For IE,它也适用于chrome和mozilla
$('#myinput').removeAttr("readonly");
$('#myinput').select();