2013-01-22 265 views
0

我有一個簡單的函數,插入一個動畫的「工作」圖像,然後顯示「完成!」 POST完成後。但是,我希望這一次發生在多個地方。jquery stop元素隱藏點擊

實施例在:http://veretekk.com/developer/temp/

的更多細節在頁面上面概述,但基本上當包含該按鈕在其內部被點擊#dialog元件被隱藏。另外... jquery使用.on而不是$(document).ready(function() {的原因是,這個內容可以在DOM加載後出現在我的網站上,因此需要隨時可用。幫幫我!

+0

我的猜測是,'$( 「member_button_friend _」 +用戶).html'移除事件目標,導致'if($(「#dialog」)。is(「:visible」)...'檢查失敗,而不是使用'.html',隱藏輸入並使用'.append' –

+0

我沒有正確地得到你的問題......當我點擊忽略按鈕時沒有任何反應,沒有圖像按鈕改變完成..但沒有其他更改頁面上...... – Scorpio

+0

我的第一個建議是通過刪除內聯JavaScript來解開代碼。內聯JavaScript更難以維護和調試。 on('click','.ignorebutton',function(){})'',而不是'onclick = FriendAction(「USER」)'',只需使用$('#dialog')。在函數內部,您可以從對話框中獲取用戶ID(數據元素或元素ID等)。 –

回答

0

我認爲你的許多問題在於你決定是否隱藏對話框的複雜方式。

,而不是試圖攔截每個文檔點擊確定其目標,讓jQuery的處理細節:

$(document).on('click', function (event) { 
    // If the document is clicked, hide the dialog 
    $('#dialog').hide(); 
}); 

$(document).on('click', '#dialog', function (event) { 
    // If the dialog is clicked, stop the propagation 
    // of the click event to the document 
    // The first handler will never be called 
    event.stopPropagation(); 
}); 

簡化的演示:http://jsfiddle.net/jtbowden/M93dZ/

+0

優秀 - 謝謝!使用這個和更多的調整我應該能夠到達那裏... –