Запуск наложения jquery из холста html5

Я полный новичок в 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 в оверлей и установите для загрузки значение true. Чтобы загрузить внешний html, просто сохраните внутренности функции onBeforeLoad выше.


person Tuck    schedule 18.07.2011    source источник


Ответы (1)


В этом случае вам нужно открыть оверлей программно, а не через элемент триггера.

Следуйте инструкциям и образцу кода в этой демонстрации: http://flowplayer.org/tools/demos/overlay/trigger.html

Важно отметить, что в этом случае вы выбираете элемент наложения, а не элемент(ы) триггера.

Также обратите внимание на добавление переменной конфигурации load:true

person Variant    schedule 19.07.2011
comment
Демо, на которое вы ссылаетесь, отлично работает для наложения div, но у меня все еще возникают проблемы с загрузкой внешнего html. Я обновлю, когда заработаю. РЕДАКТИРОВАТЬ: Эфф, мне действительно не нужен внешний html для того, что я делаю, я просто пытался быть модным. Это прекрасно работает. - person Tuck; 20.07.2011
comment
Загрузить html в оверлей очень просто. Единственное отличие от исходного кода, который вы опубликовали, заключается в том, что this.getTrigger().attr("href") больше не актуален, поскольку нет элемента запуска. просто получите свой href откуда-то еще. - person Variant; 21.07.2011
comment
ха, да. Я отсортировал это сразу после того, как разместил этот комментарий. Спасибо за помощь! - person Tuck; 21.07.2011