Как создать глобальную функцию, которая закрывает jQuery colorbox? - PullRequest
0 голосов
/ 31 марта 2012

Сначала я использую плагин jQuery colorbox, который до сих пор работал нормально, но затем я хочу закрыть colorbox с помощью кнопки. К сожалению, я не могу просто вызвать событие click для этой кнопки, выбрав ее идентификатор с помощью jQuery, вместо этого кнопка должна вызвать функцию javascript closepan () (это поведение, к сожалению, для меня обязательно).

Я пытался создать функцию

closepan() {
$.colorbox.close();
}

первый случай : внутри

$(document).ready(function(){...}); 

но потом я получил сообщение об ошибке closepan undefined.

второй случай : до

$(document).ready(function(){...}); 

но тогда метод colorbox не определен!

Я сдался после долгих часов возни с несколькими решениями, которые я нашел вокруг stackoverflow.com по этой теме! Я не могу понять, как заставить это работать!

Другими словами, как создать функцию с именем closepan (), которая может выполнять $ .colorbox.close (); пока доступны глобально для моей кнопки?

Ответы [ 3 ]

2 голосов
/ 31 марта 2012

Независимо от того, где вы создаете переменную или функцию, если вы создаете ее на window, она будет доступна глобально.

window.closepan = function() {
   // hello there
}
0 голосов
/ 31 марта 2012

Не забудьте поставить ключевое слово function перед вашей декларацией ...

function closepan() {
    $.colorbox.close();
}

Рабочая JSFiddle

0 голосов
/ 31 марта 2012
function closepan() {
    if($.colorbox) {
        $.colorbox.close();
    }
}

Однако в тот момент, когда кто-то нажимает на вашу кнопку, все внешние скрипты должны были быть загружены, чтобы проверка не требовалась ...

...