2010-08-21 6 views
1

내 jgrowl 메시지에서 Yes 또는 No 중 하나를 선택하라는 메시지가 나타나고 Ajax 호출이 실행되고 성공하면 알림을 닫고 어떻게 할 수 있습니까? 타이머 (생명)에있다. 그래서 내가 "sticked"하게 만들지 않으면 스스로 닫는다.jGrowl notifcation을 닫는 방법?

+0

꽤 늦었지 만, 아약스 호출의 특성에 따라 호출자 컨텍스트를 응답 처리기와 관련시킬 수있는 방법이 있다면 그렇게하는 것이 어렵지 않을 것입니다. –

답변

0

발신자 컨텍스트와 응답 핸들러를 관련 짓는 방법이 있다면, 만들고있는 ajax 호출의 특성에 따라, 그렇게하는 것이 어렵지 않을 것입니다.

실제로 식별자가없는 경우 '생성'(즉 GUID로)하여 콜백 기능 내에서 사용할 수 있습니다. 당신은 (아마도 숨겨진)을 jGrowl 패널이 식별자를 추가하면 jQuery를 AJAX

var myId=this.id; 
$.ajax{ 
(...), 
success:function(){ 
alert(myId);//still visible from within this place 
}, 
(...) 
} 

를 사용

, 즉이 트릭을 할 한 정도로해야한다.

이제 과거에 사용한 코드의 수정 코드를 추가했습니다. 지우는 경우를 대비하여 여기에도 그대로 두겠습니다. 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(); 
    } 
); 

소원 나는 당신의 질문 개를 보았을 것 : 이것은 바이올린 URL입니다 당신을 도울 수있는 rlier