как сделать DIV не сфокусированным? - PullRequest
13 голосов
/ 04 апреля 2009

У меня возникла проблема с рендерингом HTML.

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

Есть ли способ заставить DIV не фокусироваться?

Ответы [ 4 ]

20 голосов
/ 04 апреля 2009

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

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

document.getElementById("yourElement").removeAttribute("tabIndex");
18 голосов
/ 02 февраля 2012

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

tabIndex = "-1"

document.getElementById("yourElement").setAttribute("tabIndex", "-1");
4 голосов
/ 04 апреля 2009

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

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

EDIT:

Я думаю, вы можете сделать элемент «не сфокусированным», расфокусировав его каждый раз, когда он фокусируется. Вы можете сделать это с помощью:

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

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

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

Steve

0 голосов
/ 20 сентября 2017

Ниже приведен способ сделать DIV не сфокусированным с помощью 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...