Как указать действия для вспомогательных кнопок в AlertifyJS?
AlertifyJS имеет место для размещения вспомогательных кнопок.
Я хотел бы, чтобы при нажатии на мою вспомогательную кнопку происходили две вещи
- Диалог не должен закрываться
- Некоторая функция должна быть запущена
Как мне сделать эти две вещи?
Я могу получить уведомление, чтобы показать его, передав его в качестве третьего параметра, но диалоговое окно исчезает. Кроме того, это не сработало бы, если бы у меня было несколько вспомогательных кнопок и разные функции для каждой.
Ниже мой javascript, а вот JSFiddle.
// Run this function when the auxiliary button is clicked
// And do not close the dialog
var helpInfo = function () {
alertify.notify("help help help");
};
var custom = function () {
if (!alertify.helper) {
alertify.dialog('helper', function factory() {
return {
setup: function () {
return {
buttons: [{
text: 'Help',
scope: 'auxiliary'
}],
options: {
modal: false
}
};
}
};
}, false, 'alert');
}
alertify.helper('Do you need help?', "hello world", helpInfo);
};
custom();
2 ответа
AlertifyJS обратные вызовы будут переданы специальным closeEvent
объект. Чтобы сохранить диалог открытым, ваш обратный вызов должен установить свойство отмены в true
или просто return false
,
var helpInfo = function (closeEvent) {
alertify.notify("help help help");
closeEvent.cancel = true;
//or
//return false;
};
Смотрите обновленную скрипку
Добавьте дополнительный параметр к helpInfo
функция, чтобы вы могли получить доступ к объекту Event, переданному вместе с событием. Теперь вы можете предотвратить действие по умолчанию (которое закроет диалог).
var helpInfo = function (e) {
alertify.notify("help help help");
e.preventDefault();
};