iframe 内的 jquery-ui Draggable() 问题

发布于 2024-12-04 01:11:00 字数 794 浏览 0 评论 0原文

我向你解释我的问题:
我在页面中有一个隐藏的 iframe。 单击后,我通过 ajax 加载位于 iframe 内的 div 内的一些内容。
脚本的链接位于 iframe 的源代码内。
我通过ajax加载的内容应该是可滚动的,并且我使用基于ui滑块和可拖动的自定义滚动条(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'
                });
            }); 
        });
    }); 
});

有什么想法吗?

i explain u my problem:
i have a hidden iframe in a page.
on a click i load via ajax some content inside a div located inside the iframe.
the links to the scripts are inside the source of the iframe.
the content i load via ajax should be scrollable and i use a custom scrollbar based on ui slider and draggable (jScrollbar).
i initialize the custom scrollbar as callback of the ajax load function but it work only partially:
the mousewheel feature is perfect but i cannot scrolldown by clicking the mouse.

here is the code:

$(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'
                });
            }); 
        });
    }); 
});

any idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流云如水 2024-12-11 01:11:00

我有同样的问题,问题是事件在 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 版本,它知道如何在处理 iframe 时正确附加事件。我尝试在我的框架中附加一个自定义事件,触发时将调用 jscrollbar 或滑块(然后从框架中)。但似乎我无法从框架之外触发任何东西。如果您发现了什么,请告诉我

I have the same Issue, the problem is the way events are added inside jQuery code. After the first click, jQuery is supposed to add a mousemove event on the current document but its wrong because it uses document.addEventListener. document here references the outside of the frame, it should be something like :

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);
};

I need a proper version of jQuery that know how to correctly attach events when dealing with iframes. I've tried to attach a custom event in my frame that when triggered will call jscrollbar or slider (from the frame then). But seems like I can't trigger anything from outside the frame. Let me know if you find something

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文