从 html5 canvas 触发 jquery 覆盖

发布于 2024-11-24 09:02:35 字数 1001 浏览 3 评论 0原文

我是一个 jQuery 新手,所以对于任何明显的疏忽我深表歉意。现在我有一个网站,当单击某些链接时,我使用 jQuery Tools Overlay 加载外部 html (http://flowplayer.org/tools/demos/overlay/external.html)。这很好用。

我遇到麻烦的地方是当我在 html5-canvas 中绘制的对象被单击时尝试触发叠加。注意:我在检测单击对象时没有问题,唯一的问题是触发弹出窗口。

以下代码是我当前使用外部页面填充 div 的代码,我想知道是否有人可以为我指出正确的方向,使其不特定于链接。

谢谢!

//make all links with the 'rel' attribute open overlays
$(function() 
{
    // if the function argument is given to overlay,
    // it is assumed to be the onBeforeLoad event listener
    $("a[rel]").overlay(
    {
        mask: 'darkgrey',
        effect: 'apple',

        onBeforeLoad: function()
        {
            // grab wrapper element inside content
            var wrap = this.getOverlay().find(".contentWrap");

            // load the page specified in the trigger
            wrap.load(this.getTrigger().attr("href"));
        }
    });
});

更新: 我最终得到的解决方案就像编程演示所描述的那样:将目标 div 转换为覆盖层,并将 load 设置为 true。要加载外部 html,只需保留上面“onBeforeLoad”函数的内容即可。

I'm a total jQuery newbie, so I apologize for any glaring oversights. Right now I have a website where I am using jQuery Tools Overlay to load external html when certain links are clicked on (http://flowplayer.org/tools/demos/overlay/external.html). This works fine.

Where I am encountering trouble is when I try to trigger an overlay when an object I'm drawing in html5-canvas is clicked. Note: I am having no issue detecting when the object is clicked, the only issue I'm having is triggering the popup.

The following code is what I'm using currently to fill a div with the external page, I was wondering if anybody could point me in the right direction to make it not specific to links.

Thanks!

//make all links with the 'rel' attribute open overlays
$(function() 
{
    // if the function argument is given to overlay,
    // it is assumed to be the onBeforeLoad event listener
    $("a[rel]").overlay(
    {
        mask: 'darkgrey',
        effect: 'apple',

        onBeforeLoad: function()
        {
            // grab wrapper element inside content
            var wrap = this.getOverlay().find(".contentWrap");

            // load the page specified in the trigger
            wrap.load(this.getTrigger().attr("href"));
        }
    });
});

Update:
The solution I ended up with was just as the programmatic demo describes: turn your target div into an overlay, and set load to true. To load external html, just preserve the guts of the 'onBeforeLoad' function above.

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

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

发布评论

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

评论(1

谁的年少不轻狂 2024-12-01 09:02:35

在这种情况下,您需要的是以编程方式打开覆盖层,而不是通过触发元素。

请按照此演示中的说明和示例代码进行操作: http://flowplayer.org/tools/demos /overlay/trigger.html

重要的是,在这种情况下,您选择 overlay 元素 而不是触发元素

另请注意添加 load:true 配置变量

What you need in this case is to open the overlay programatically and not through a trigger element.

Follow the instructions and sample code in this demo: http://flowplayer.org/tools/demos/overlay/trigger.html

The important note is that in this case you select the overlay element and not the trigger element(s)

Also note the addition of the load:true configuration variable

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