проблема с jquery-ui draggable () внутри iframes - PullRequest
0 голосов
/ 08 сентября 2011

Я объясняю вам мою проблему:
У меня есть скрытый iframe на странице.по щелчку я загружаю через ajax некоторый контент внутри div, расположенного внутри iframe.
ссылки на скрипты находятся внутри источника iframe.
контент, который я загружаю через ajax, должен прокручиваться, и я использую пользовательскийполоса прокрутки на основе ползунка пользовательского интерфейса и перетаскивания (jScrollbar).
Я инициализирую пользовательскую полосу прокрутки как обратный вызов функции загрузки ajax, но она работает только частично:
функция колесика мыши прекрасна, но я не могу прокрутить ее, щелкнув мышью.

вот код:

$(function(){
   store_frame ();//write the frame intop the page
   $('.submenu').show();
   $('a#click').click(function(){   
        $("#iframe_sub").contents().find('#text_box .wrap').load('presenza.html', function(){
            $("#iframe_sub").contents().find('#text_box .wrap').fadeIn(fade_time, function(){
                $("#iframe_sub").contents().find('.jScrollbar').jScrollbar({
                        allowMouseWheel: 'true'
                });
            }); 
        });
    }); 
});

есть идеи?

1 Ответ

0 голосов
/ 30 мая 2012

У меня та же проблема, проблема в том, как события добавляются в код jQuery. После первого щелчка jQuery должен добавить событие mousemove в текущий документ, но это неправильно, поскольку он использует document.addEventListener. Документ здесь ссылается на внешнюю часть фрейма, это должно быть что-то вроде:

var iframe = TheCurrentFrame; //how to access that??
    iDoc = iframe.contentWindow     // sometimes glamorous naming of variable
        || iframe.contentDocument;  // makes your code working :)
if (iDoc.document) {
    iDoc = iDoc.document;
    iDoc.body.addEventListener('mousemouve', eventHandler);
};

Мне нужна правильная версия jQuery, которая знает, как правильно прикреплять события при работе с фреймами. Я пытался прикрепить пользовательское событие в моем фрейме, которое при срабатывании вызовет jscrollbar или слайдер (из фрейма тогда). Но, похоже, я не могу ничего вызвать из-за пределов кадра. Дайте мне знать, если найдете что-нибудь

...