2010-02-19 10 views

risposta

1

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 ..

+0

@Gaby: > [Secondo] (http: //www.stanlemon .netindex.jgrowl.html) a questo è come ho detto – Hulk

+0

strano .. forse è un refuso ... l'hai provato? –

+0

sì, non funziona .. – Hulk

2

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ò.

9

questo ha lavorato per me

$("div.jGrowl").jGrowl("close"); 
+0

Questa sintassi apparentemente non funziona più. Tutto ciò che ha fatto per me è stato pop un altro jGrowl con un messaggio di "close" – Kristopher

+0

Questo funziona ancora per me per l'ultima versione – Arda

0

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); 

CoffeeScript and dialog here.

0

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); 
1

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"); 
1

$(".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.

2

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'); 
    }); 
} 
-1
$('#jGrowl').find('.jGrowl-close').trigger('click'); 
+1

Per favore aggiungi una descrizione alla tua risposta – zohar