установить фокус на iframe body / content в firefox? - PullRequest
7 голосов
/ 02 октября 2009

У меня есть ифрам, который имеет скрытую видимость. Я нажимаю на кнопку - iframe будет виден, и я хочу сосредоточиться на его теле / ​​содержании. потому что теперь я должен нажать на кнопку, а затем в iframe, так что это два клика. Я хочу сделать это одним щелчком мыши, но не знаю, как сосредоточиться в Firefox.

в проводнике все нормально:

var iframe_window = window.frames["myFrame"];
iframe_window.document.body.focus();

попробуйте множество примеров для Firefox, но они не работают. Кто-нибудь знает, как это сделать в Firefox? спасибо.

Ответы [ 6 ]

4 голосов
/ 23 ноября 2009

Попробуйте сначала установить фокусировку на iframe_window, а затем на текущее содержание:

iframe_window.focus();
iframe_window.contentDocument.body.focus();
0 голосов
/ 05 декабря 2013

У меня была такая же проблема (только в Firefox), я, кажется, решил ее, установив фокус только на iframe после вы уверены, что iframe полностью загружен. В моем iframe html:

<body onLoad="init();>

Javascript внутри страницы iframe:

this.init = function(){
    parent.focusframe();
}

И этот javascript находится в родительском окне:

this.focusframe = function(){
    var fr = document.getElementById("gameframe");
    fr.contentWindow.focus();
}
0 голосов
/ 16 мая 2012

Не каждый элемент поддерживает .focus(). Вы можете сфокусировать элемент, который вы пытаетесь сфокусировать программно, используя клавиатуру / мышь?

Фокус может перейти к элементам формы элементов или тегам 'a' или диапазону со свойством edant-editable, установленным в true.

Найдите такой элемент в iframe и попробуйте сосредоточиться на этом. Должно работать !!

0 голосов
/ 05 декабря 2009

Попробуйте установить фокус на сам элемент

0 голосов
/ 13 ноября 2009

Я думаю, вам, возможно, придется сфокусировать что-то внутри iFrame; сам iFrame ничего не будет делать с фокусом, но, может быть, вы можете поместить фокус внутри него или даже виджет?

0 голосов
/ 02 октября 2009

ли

iframe_window.contentDocument.body.focus();

работа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...