私のjgrowlメッセージでは、「はい」または「いいえ」のどちらかで答えるように求められましたが、どちらもajax呼び出しを実行します。成功すると、通知を閉じたいのですが、どうすればよいですか。タイマー(ライフ)なので、「動かない」と閉じてしまいます
1066 次
1 に答える
0
作成している ajax 呼び出しの性質に応じて、呼び出し元のコンテキストを応答ハンドラーに関連付ける方法があれば、それほど難しくありません。
実際、識別子がない場合は、'作成' (つまり、GUID として) し、コールバック関数内で使用できます。
つまり、jQuery AJAX を使用する
var myId=this.id;
$.ajax{
(...),
success:function(){
alert(myId);//still visible from within this place
},
(...)
}
この識別子を 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>
<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();
}
);
あなたの質問をもっと早く見て、あなたを助けてくれたらよかったのに
于 2011-08-15T00:52:59.947 に答える