我正在尝试将我的只读文本框设置为“unfocussable”。基本上,当用户点击文本区域时,我不想让插入符号显示出来。
我正在使用此代码:
$(document).on("focus", ":input[readonly]", function () {
this.blur();
}
);
在Fire fox中效果很好,但在IE中似乎不起作用,或者至少响应速度不够快。
感谢您的帮助!我把头发拉出来
答案 0 :(得分:1)
似乎可以解决您的问题,强制对焦然后模糊:
http://jsfiddle.net/Y2K5a/show
$(document).on("focus", ":input[readonly]", function () {
this.blur().focus().blur();
});
答案 1 :(得分:0)
应该有效。在IE10中试过这个。 http://jsfiddle.net/Lj3Te/
如果没有,请尝试将您的元素设置为readOnly,如下所示:
document.getElementById('ID').readOnly = true;
http://msdn.microsoft.com/en-us/library/ie/ms534357(v=vs.85).aspx
答案 2 :(得分:0)
我最终这样做了:
$(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时间,或者可能给它一个真实的对象。无论如何都很奇怪