Javascript Readonly false后跟focus在i.e.7中不起作用
有人能帮我吗 我有一个文本框,在页面加载时默认为只读。点击这个文本框的事件,我必须做两件事Javascript Readonly false后跟focus在i.e.7中不起作用,javascript,jquery,html,Javascript,Jquery,Html,有人能帮我吗 我有一个文本框,在页面加载时默认为只读。点击这个文本框的事件,我必须做两件事 使其可编辑 将焦点放在文本框上 为此,我编写了一个代码removeAttr使其可编辑,然后focus()使其保持焦点 它在IE8+、FF和Chrome中正常工作。 但我也需要让它在IE7中工作,因为我们在客户端的兼容浏览器列表中有IE7 注意:问题仅限于焦点,单击后文本框变为可编辑。但是需要第二次点击来保持关注。希望只在第一次单击时完成 <input name="testId" id="test
- 使其可编辑
- 将焦点放在文本框上
removeAttr
使其可编辑,然后focus()
使其保持焦点
它在IE8+、FF和Chrome中正常工作。
但我也需要让它在IE7中工作,因为我们在客户端的兼容浏览器列表中有IE7
注意:问题仅限于焦点,单击后文本框变为可编辑。但是需要第二次点击来保持关注。希望只在第一次单击时完成
<input name="testId" id="testId" size="25" maxlength="40" tabindex="21" class="width250" readonly="true"/>
$("#testId").click(function(){
$(this).removeAttr("readonly");
$(this).focus();
});
$(“#testId”)。单击(函数(){
$(此).removeAttr(“只读”);
$(this.focus();
});
尝试设置焦点的超时时间
$("#testId").click(function(){
$(this).removeAttr("readonly");
setTimeout(function() {$(this).focus(); }, 10);
});
(from)IE的弊病之一是大多数EVEN不会自动更新DOM。您要做的是取消对元素的聚焦,然后再次聚焦以使其可编辑
试试这种方法,它会解决你在IE上的问题
$("#testId").click(function () {
$(this).removeAttr("readonly").blur().focus();
});
让我们看看相关的HTML和JavaScript。正如@Anthony所说,您需要提供HTML和JavaScript代码,否则我们只是在瞎猜。使用代码编辑您的问题(用于StackOverflow中的代码格式说明),然后我们可以尝试帮助您,使其成为只读,直到用户单击为止,此时它将变为可编辑。这与最初的可编辑有什么不同?首先将其置于只读状态可以实现什么?@SDC单击文本框本身时,需要使其可编辑,并将焦点放在单击的文本框上。实际情况是,我有“n”个部分,每个部分有2个文本框。当页面加载时,所有部分都被禁用,单击任何文本框时,我需要删除该特定部分的两个输入的只读属性。重点应该放在点击的输入上。我仍然不知道正在实现的目标是什么,仅仅通过将它们设置为禁用的样式是无法实现的,直到它们被聚焦。试过了。但我的问题没有解决。尝试不同的时间间隔10、100、500和1000。没用。你用的是哪个版本的jquery?很高兴听到这个消息!我想你可以接受这个答案我已经在我的页面中包含了你的代码。我怎么能接受一个解决我问题的好答案呢?。再次感谢。