Jquery on,焦点和模糊与Internet Explorer

时间:2013-06-19 16:43:25

标签: jquery focus blur

我正在尝试将我的只读文本框设置为“unfocussable”。基本上,当用户点击文本区域时,我不想让插入符号显示出来。

我正在使用此代码:

    $(document).on("focus", ":input[readonly]", function () {
        this.blur();
      }
    );

在Fire fox中效果很好,但在IE中似乎不起作用,或者至少响应速度不够快。

感谢您的帮助!我把头发拉出来

3 个答案:

答案 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时间,或者可能给它一个真实的对象。无论如何都很奇怪