我正在尝试将我的只读文本框设置为“不可聚焦”。基本上,当用户单击文本区域时,我不想让插入符号出现。
我正在使用这段代码:
$(document).on("focus", ":input[readonly]", function () {
this.blur();
}
);
这在火狐中效果很好,但在 IE 中它似乎不起作用,或者至少响应不够快。
谢谢你的帮助!我正在拔头发
似乎可以解决您的问题,强制焦点然后模糊:
http://jsfiddle.net/Y2K5a/show
$(document).on("focus", ":input[readonly]", function () {
this.blur().focus().blur();
});
应该管用。在 IE10 中试过这个。 http://jsfiddle.net/Lj3Te/
如果没有,请尝试将您的元素设置为 readOnly ,如下所示:
document.getElementById('ID').readOnly = true;
http://msdn.microsoft.com/en-us/library/ie/ms534357(v=vs.85).aspx
我最终这样做了:
$(document).on('click', function (event) {
var doPrevent = false;
var d = event.srcElement || event.target;
if ((d.tagName.toUpperCase() === 'INPUT' && d.tagName.toUpperCase() === 'TEXTAREA') {
doPrevent = d.readOnly || d.disabled;
}
if (doPrevent) {
d.blur();
}
});
我认为它让 IE 有时间工作,或者可能给它一个真实的对象。无论哪种方式都非常奇怪