Tutti,Come chiudere un jgrowl manualmente
come chiudere e aprire un jgrowl manualmente
jQuery("div.jGrowl").trigger("jGrowl.close");
Il codice di cui sopra doesnt sembrano funzionare.
Grazie.
Tutti,Come chiudere un jgrowl manualmente
come chiudere e aprire un jgrowl manualmente
jQuery("div.jGrowl").trigger("jGrowl.close");
Il codice di cui sopra doesnt sembrano funzionare.
Grazie.
Lo spazio dei nomi viene dopo l'evento ..
quindi dovrebbe essere
jQuery("div.jGrowl").trigger("close.jGrowl");
aggiornamento dopo il commento
La sintassi menzionato nel loro blog potrebbe essere un errore di battitura .. (l'hai provato per vedere se funziona?)
Altro t han che, una richiesta di supporto a pagina plugin jQuery datata feb 2009 può contenere un po 'di comprensione .. dare un'occhiata ..
tre opzioni:
$('div.jGrowl').find('div.jGrowl-notification').children().parent().remove();
$('div.jGrowl').find('div.jGrowl-notification').trigger('jGrowl.close');
$('div.jGrowl').find('.jGrowl-close').trigger('jGrowl.close');
Nessuno di loro chiudere tutte le notifiche. Non sono sicuro di come chiudere una notifica individuale, però.
questo ha lavorato per me
$("div.jGrowl").jGrowl("close");
Questa sintassi apparentemente non funziona più. Tutto ciò che ha fatto per me è stato pop un altro jGrowl con un messaggio di "close" – Kristopher
Questo funziona ancora per me per l'ultima versione – Arda
Ecco una soluzione per chiudere singole notifiche:
testGrowl = function() {
var ao, close;
close = function(e) {
console.log('close');
return $(e).find('.jGrowl-close').trigger('click');
};
ao = function(e) {
return setTimeout(function() {
return close(e);
}, 1500);
};
return $.jGrowl("Hello world!", {
sticky: true,
afterOpen: ao
});
};
setTimeout(testGrowl, 100);
setTimeout(testGrowl, 1000);
Ecco un'altra soluzione per l'apertura e la chiusura singoli messaggi che utilizza la funzione di raggruppamento di jGrowl:
var nextGroupID = 1;
var addMessage = function(message)
{
var groupID = nextGroupID++;
$.jGrowl(message, { sticky: true, group: "group-" + groupID });
return groupID;
};
var removeMessage = function(groupID)
{
$("div.jGrowl-notification.group-" + groupID).trigger("jGrowl.close");
}
// Example usage
addMessage("The first test message");
var testID = addMessage("The second test message");
setTimeout(function() {removeMessage(testID);}, 4000);
Il metodo migliore è
$(".jGrowl-notification:last-child").remove();
Quando jGrowl creare una notifica che uso per creare due jGrowl notifica DIV in cui uno è vuoto. Quindi, quando crei una notifica, l'ultima è l'ultima notifica. Quindi è necessario chiudere l'ultimo DIV con la classe di notifica jGrowl.
Quando mai si voleva aprire unica nota singola utilizzare il codice qui sotto, che rimuoverà la nota precedente e creare un nuovo
$(".jGrowl-notification:last-child").remove();
$.jGrowl("Hello World");
$(".jGrowl-notification:last-child").jGrowl('close');
o
$(".jGrowl-notification:last-child").trigger('jGrowl.close')
Sono i modi migliori per chiudere una notifica poiché tutti i callback verranno attivati di conseguenza.
La rimozione della modalità ignora le richiamate, che è meno ideale.Si noti inoltre che per chiudere una notifica specifica si desidera utilizzare il selettore annotato sopra.
La chiamata al metodo $.fn.jGrowl()
è progettata per l'approccio parallelo del widget jQuery.UI ed è diventato un luogo abbastanza comune e molto probabilmente lo manterrà nelle versioni future.
Questo ha funzionato per me, chiudendo l'ultima notifica:
$('div.jGrowl-close').triggerHandler('click');
Edit: Maggiore efficienza sostituendo grilletto con triggerHandler. Vedi http://api.jquery.com/triggerHandler/
Ho avuto lo stesso problema perché stavo aggiungendo un set di pulsanti nella notifica growl. Uno era usato per accettare la notifica e l'altro era usato per ignorare la notifica. L'approccio che ho preso è stato quello di aggiungere un afterOpen
callback e quindi aggiungere un gestore click
con il riferimento all'elemento vicino originale:
afterOpen: function(e,m,o){
$(e).find("#acceptInvitation").click(function() {
alert("Invite Accepted");
});
$(e).find("#declineInvitation").click(function() {
$(e).children("div.jGrowl-close").trigger('click');
});
}
$('#jGrowl').find('.jGrowl-close').trigger('click');
Per favore aggiungi una descrizione alla tua risposta – zohar
@Gaby: > [Secondo] (http: //www.stanlemon .netindex.jgrowl.html) a questo è come ho detto – Hulk
strano .. forse è un refuso ... l'hai provato? –
sì, non funziona .. – Hulk