Как сделать клик по кнопке внутри динамически загружаемого фрейма - PullRequest
0 голосов
/ 21 ноября 2011

Название говорит само за себя. Я работаю с iframe, единственное, что я знаю, это часть его атрибута src. До сих пор я могу достичь целевого элемента (якоря) по их (известному) идентификатору:

var f = $('iframe[src^="url"]', newTabBrowser.contentDocument);
if ( ! f.length)
    return;
var b = f.contents().find('#button'); 
if ( ! b.length)
    return;

На данный момент у меня есть нужный элемент привязки в переменной jQuery b, но я не могу щелкнуть по нему. Якорь выглядит так:

<a href="javascript:void(0);" id="button" role="button" tabindex="0"></a>

Я пробовал:

b.click();

и

simulateClick(b);

function simulateClick(elm) {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    var canceled = !elm.dispatchEvent(evt);
    if(canceled) {
        return false;
    } else {
        return true;
    }
} 

Ни то, ни другое не работает. Любая идея о том, как продолжить или другой метод, чтобы попробовать?

OBS: это часть аддона FF. Вот почему я использую newTabBrowser.contentDocument

1 Ответ

0 голосов
/ 21 ноября 2011

Работает ли это для вас:

$(document).ready(function() {
            var frame = $('#iframeID').get(0).contentDocument;
            $('#button', frame).click(function() {
                alert("Clicked me..!");
            });

        });

Надеюсь, это поможет в некотором смысле.

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