Jquery 在加入“后”;只读“;文本框上的属性无法在一个事件中删除它
重编的步骤Jquery 在加入“后”;只读“;文本框上的属性无法在一个事件中删除它,jquery,html,internet-explorer,Jquery,Html,Internet Explorer,重编的步骤 使用Internet Explorer 选中无限制复选框 单击文本框(将从复选框中删除勾选/复选框) 尝试在文本框中输入文本 我们无法在文本框中输入 4.再次单击文本框。现在,我们将能够在文本框中输入文本 我们试过了 1.将属性只读设置为flase,即$('#myinput').attr('readOnly',false); 2.调用$('#myinput')。单击() 下面是HTML代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
使用Internet Explorer
4.再次单击文本框。现在,我们将能够在文本框中输入文本 我们试过了
1.将属性只读设置为flase,即$('#myinput').attr('readOnly',false);
2.调用$('#myinput')。单击() 下面是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>
使输入为只读
/*单击复选框*/
$('#mycheck')。单击(函数(){
if($(this.attr('checked')){
$('#myinput').attr('readOnly','readOnly');
}
否则{
$('#myinput').removeAttr('readOnly');
/*也试过
*$('#myinput').attr('readOnly',false);
*$('#myinput').attr('readOnly','');
*/
}
});
/*在文本框上单击*/
$('#myinput')。单击(函数(){
$(“#mycheck”).removeAttr('checked');
$('#myinput').removeAttr('readOnly');
/*也试过
*$('#myinput').attr('readOnly',false);
*$('#myinput').attr('readOnly','');
*/
});
您需要将readonly属性设置为nothing
$('#myinput').attr('readOnly', '');
您需要将readonly属性设置为nothing,如下所示
$('#myinput').attr('readOnly', '');
我也有同样的问题,并在stackoverflow上报告了它,一秒钟后我发现了它 编辑:
如果你读了我的帖子,它也解释了正在发生的事情。事实上,文本框实际上已经解锁(与Tyde尝试的不同)。这个问题与焦点/选择有关。我也有同样的问题,并在stackoverflow上报告了它,一秒钟后我发现了它
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;
}
}
}
}
}
编辑:
如果你读了我的帖子,它也解释了正在发生的事情。事实上,文本框实际上已经解锁(与Tyde尝试的不同)。问题与焦点/选择有关
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;
}
}
}
}
}
我得到了一个文本框将在只读和可编辑之间切换的场景,因此我添加了条件if(evt.srceelement.getAttribute('readonly'))
,这很有帮助
我得到了一个文本框将在只读和可编辑之间切换的场景,因此我添加了条件
if(evt.srcelelement.getAttribute('readonly'))
,这很有帮助。将此用于IE,它也适用于chrome和mozilla
$('#myinput').removeAttr("readonly");
$('#myinput').select();
在IE中使用它,它也适用于chrome和mozilla
$('#myinput').removeAttr("readonly");
$('#myinput').select();
什么版本的IE?6、7、8和9都有不同的怪癖。请说出所有人的怪癖。因为它应该适用于所有浏览器:)什么版本的IE?6、7、8和9都有不同的怪癖。请说出所有人的怪癖。因为它应该适用于所有浏览器:)请仅签入internet explorer。它只能在IE浏览器中的Chrome和FirefoxCheck中正常工作。在Chrome和Firefox中工作良好,谢谢。我们尝试了所有变体,如.focus()、.dbclick()、.mouseup()、.mouse down等。在搜索时,我们尝试了readonly、JQuery和Internet Explorer等关键字,但找不到解决方案。再次感谢:)谢谢。我们尝试了所有变体,如.focus()、.dbclick()、.mouseup()、.mouse down等。在搜索时,我们尝试了readonly、JQuery和Internet Explorer等关键字,但找不到解决方案。再次感谢:)