Как получить элемент, по которому был выполнен щелчок, и атрибут src указанного элемента в iFrame - PullRequest
0 голосов
/ 24 августа 2011

У меня есть iframe, который генерируется на лету с помощью fancybox plugin .Я хочу получить элемент clicked внутри него, и из этого элемента получить атрибут src, но всякий раз, когда я пытаюсь, я просто получаю «undefined» в качестве ответа.

, что вызывает создание iframe:

<a id="contentImageAJAX" class="iframe" href="/tools/images?keyword=cat" style="display:none;">g</a>

и

 $('#contentImage').focus(function(){
        var $contentImage = $('#contentImage');
        $('a#contentImageAJAX').click().fancybox({
            'width' :  1280,
            'height': 600,
            'centerOnScroll': true,
            'hideOnContentClick' : true,
            'onCleanup': function(){tryMe($contentImage);}
        });

Я обнаружил, что созданный iframe является # fancybox-frame, поэтому я попытался:

$('#fancybox-frame').load(function(){
    $('#fancybox-frame').contents().find('body').html('Hey, i`ve changed content of <body>! Yay!!!');
});

, но это не сработало, и "tryMe" - этоэта функция:

function tryMe($cImg){
        console.log($('#fancybox-frame').contents().find('clickable').attr('src'));
    }

Я пробовал несколько итераций этого в течение нескольких часов, есть идеи, что мне не хватает?

1 Ответ

0 голосов
/ 24 августа 2011

Селектор внутри tryMe неправильный find('clickable').Я думаю, что вы ищете find('.clickable').

Попробуйте это

$('a#contentImageAJAX').click().fancybox({
            'width' :  1280,
            'height': 600,
            'centerOnScroll': true,
            'hideOnContentClick' : true,
            'onCleanup': function(){parent.tryMe($contentImage);},
            'onComplete': function(){
               $('#fancybox-frame').contents().find('linkSelector').click(function(){
                   //Do you stuff here.
               });
            } 
 });
...