jGrowl как закрыть уведомление? - PullRequest
1 голос
/ 21 августа 2010

В моем сообщении jgrowl вас попросили ответить либо Да, либо Нет, оба запускают вызов ajax, и в случае успеха я хочу закрыть уведомление, как я могу это сделать, есть ли строка для закрытия, потому что сейчасвсе на таймерах (жизни), поэтому они закрываются, если я не заставлю их «залипать»

1 Ответ

0 голосов
/ 15 августа 2011

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

Действительно, если вы это сделаетене имея идентификатора, вы могли бы «создать его» (т. е. в качестве GUID) и использовать его в функции обратного вызова.Панель jGrowl (возможно, скрытая), которая должна быть достаточной, чтобы добиться цели.

Теперь я добавил в скрипку модифицированный код чего-то, что я использовал в прошлом, на случай, если его сотрут,оставлю это здесь тоже.Это URL скрипты: http://jsfiddle.net/MCNUw/12/

html

<html>
<body>
    Open
    <div class="classOpen" source="d1">
        div1
    </div>
    <div class="classOpen" source="d2">
        div2
    </div>
    &nbsp;<br>
    Close
    <div class="classClose" source="d1">
        div1
    </div>
    <div class="classClose" source="d2">
        div2
    </div>

</body>

css

.classOpen{color:green;}
.classClose{color:red;}

js

var jGrowlConstraints=
{
    jGrowlNotifSelector:'.jGrowl-notification',
    jGrowlCloseThickSelector:'.jGrowl-close'
}

$(".classOpen").click(
    function(){
        var $domElement=$(this);
        $.jGrowl("<span source='"+$domElement.attr("source")+"'/>"+$domElement.html()
                 ,{ sticky: true });        
    }
);

$(".classClose").click(
    function(){
        var $domElement=$(this);
        $(jGrowlConstraints.jGrowlNotifSelector)
        .has("[source="+$domElement.attr("source")+"]")
        .find(jGrowlConstraints.jGrowlCloseThickSelector)
        .click();
    }
);

если бы я видел ваш вопрос раньше, чтобы помочь вам тогда

...