簡體   English   中英

Javascript功能需要單擊兩次才能執行

[英]Javascript function requires 2 clicks to execute

當用戶單擊圖像時,它會使用確認警報消息部分觸發javascript。 第二次單擊,剩下的javascript在獲取我的函數的位置完成並刪除記錄。 我希望整個腳本一鍵執行(不是兩次)。 我的代碼有什么問題?

<img id="#id#" src="images/delete.gif" width="16" height="16" title="Delete letter" class="delete" />    

這是我的JavaScript:

<script type="text/javascript">
    $(document).ready(function() {
        $('table td img.delete')
        .live('click', function() {
            var currentRow = $(this); 
            if(confirm("Are you sure you want to permanently delete this letter?")){
                $.get('cfc/letters.cfc?method=deleteLetter&returnformat=plain', 
                        { id: $(this).attr('id') },
                        function(returnMsg){
                            if(returnMsg.replace(/^\s+|\s+$/g, '')==='ok'){
                                $(currentRow).parent().parent().remove();
                            }
                        }
                );
            }
        });
    });
</script>

除了Pranshant Palikhe的評論之外,Ajax請求由於具有異步性,因此可能還需要一段時間才能執行。

您很有可能將第二次點擊操作實際上是第一次點擊的回調收到了響應並在DOM上執行了行刪除。

為了確認這一點,建議您單擊一次刪除圖像,然后等待。 我不知道您設置了什么超時時間,但是如果等待足夠長的時間,那么兩分鍾應該是更糟糕的情況。

單擊后應等待一段時間,然后查看開發人員工具中的“網絡”標簽以確認是否正在獲取數據。

如果一切正確,那么您將很快獲得數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM