クラスには、クリックイベントがアタッチされている要素がいくつかあります。これはリンクが付いたポップアップボックスを呼び出します。このリンクは、元の要素idをデータベースに格納するAJAX呼び出しを行います。ネストされた関数の終了
問題は、ある要素にポップアップを開いて閉じ、別の要素で同じことをすると、2つの別々のAJAX呼び出しが行われるということです。ポップアップを隠すためにリンクをクリックすると、呼び出された元の関数を終了する方法が必要です。この方法では、一度に複数のAJAX呼び出しを行うことはできません。
$(".ulElement").live('click', function(){
$('#popup').css('visibility','visible');
var elementNum = $(this).parent().attr('id');
$('#popupLink1').click((function() {
//make Ajax call and send elementNum
});
$('#popopLink2').click((function() {
$('#popup').css('visibility','hidden');
//I need to exit the function that was called by ulElement here
});
EDITは:これは私が働く必要が簡略化され、私のコードです
以下は私の問題の基本的な例です。今、それはまだ私がクリックしたすべての要素を灰色に変えます。
$(".position").live('click', function(event){
$('#seatmenu').css('visibility','visible');
var seatnum = $(this).parent().attr('id');
$('.stand').css('visibility', 'visible');
$(".menuhead").click(function(){
clearMenu(); //this just hides the menu
event.preventDefault();
});
$(".stand").click(function(){
clearMenu();
$('#'+seatnum).css('color','grey');
});
});
AJAX呼び出したら、進行中である、あなたは* *それをキャンセルすることができますが、技術的に要求がすでに行われています。あなたはそれの失敗や別のものへの別々に対処する必要があります。必要に応じて、返された情報を却下するだけです。 – Orbling