как сделать див unfocusable?

Я столкнулся с проблемой рендеринга HTML.

в dir="rtl" документ IE7, когда JavaScript пытается установить фокус на элемент DIV (с oElement.Focus () метод), рендеринг превращается в беспорядок. Контекст очень сложно, поэтому я предполагаю, что самый простой исправить это, чтобы сделать див unfocusable?

есть ли способ сделать DIV не сфокусированным?

4 ответов


на <div> не должен быть способен получать фокус, если вы добавили свойство tabindex.

Если вы добавили tabIndex, вы должны удалить его с помощью

document.getElementById("yourElement").removeAttribute("tabIndex");

дополнительно, Если вы хотите сделать фокусируемый элемент (сформировать входные элементы и т. д.) как несфокусируемые. Вы можете установить :

tabIndex = "-1"

document.getElementById("yourElement").setAttribute("tabIndex", "-1");

Я не уверен, что вы можете сделать элемент "un-focusable", но вы можете, конечно, un-focus его в определенный момент времени, используя его blur способ:

document.getElementById("myElement").blur();

EDIT:

Я думаю, вы можете сделать элемент "нецелесообразным", расфокусировав его каждый раз, когда он фокусируется. Вы можете сделать это через:

document.getElementById("myElement").onfocus = function() {
    this.blur();
};

...или (используя встроенный Javascript в вашем HTML):

<div onfocus="this.blur();"></div>

Стив


ниже есть какой-то способ сделать див unfocusable с помощью jQuery.

    //  Set the tabindex atribute to -1.
        1)$("divid").attr('tabindex','-1');
    //  Remove the tabindex atribute if exists.
        2) $("divid").removeAttr('tabindex');
   //   This is third way.
        3) $("divid").blur();