JQuery - fancybox и обратный вызов

Неправильный вопрос. «Как бы вы поступили с пользователями» начинается не с того конца.

Правильный вопрос: «Учитывая, что диалоги отвлекают пользователей от поставленной задачи, какие существуют лучшие альтернативы?»

.

Работая над достижением цели или завершением задачи, мы можем выделить три ситуации:

(1) Приложение приходит к выводу, что не существует никаких действий, которые он может предпринять, чтобы заставить пользователя достичь Цель. Всплывающее сообщение, с одной кнопкой, чтобы отклонить его. Вам все равно, понимает ли это читатель, поскольку результат все равно не имеет значения.

(2) Вы можете предпринять только одно действие, или альтернативы не имеют отношения к пользователю. Не беспокойте его вообще.

(3) Есть два или более способов достижения цели. Позвольте пользователю выбирать между этим. Не формулируйте это как вопрос да / нет. (Vista предлагает это как обычный диалог для замены окна сообщения.) Если это вообще возможно, не делайте этот выбор необратимым.

Исключением из этого правила является ситуация, когда пользователь ожидает вопроса «да / нет». Но на самом деле, если это так, то почему вопрос не является частью нормального рабочего процесса? Диалоговые окна находятся за пределами нормального рабочего процесса.

8
задан sasa 26 May 2009 в 01:36
поделиться

4 ответа

Вместо myFunc () используйте myFunc . В javascript функция с скобками (и / или аргументами) означает, что вы хотите ее вызвать. Имя функции без них означает, что вам просто нужна ссылка на эту функцию (вероятно, это то, что fancybox хочет от вас)

24
ответ дан 3 November 2019 в 12:13
поделиться

На самом деле, проверяя документы, вы в вашем списке опечатка есть опечатка ...

У вас есть callBackOnShow , но должно быть callbackOnShow (строчная буква b)

3
ответ дан 3 November 2019 в 12:13
поделиться
'callbackOnShow': myFunc

нижний регистр b, так как параметры чувствительны к регистру, и без скобок на myFunc, так как вы хотите передать функцию как параметр, а не вызывать ее.

2
ответ дан 3 November 2019 в 12:13
поделиться

Это должно быть: -

function myFunc() {
    alert("Opened!");
}

$('.content a').fancybox({ 
    'hideOnContentClick': false ,
    'callBackOnShow': myFunc, // no brackets
    'frameWidth': 920,
    'frameHeight': 530
});

Или вы можете сделать анонимную функцию ...

$('.content a').fancybox({ 
    'hideOnContentClick': false ,
    'callBackOnShow': function() { alert('hello'); },
    'frameWidth': 920,
    'frameHeight': 530
});
2
ответ дан 3 November 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: