【記】AJAX非同步對事件的影響

來源:互聯網
上載者:User

隨手紀錄工作中發現的細小,可能以後就不會重複的走這條老路!

剛剛在工作中發現一個問題,ajax的調用非同步請求會對事件有很大的影響!

可能這點很多人都知道了,不過我不是寫給你們看的,只是自己記錄下,加深下自己的記憶。

在解決這個問題之後我才想起來好像高程有這個介紹的。只怪當時沒認真看而已,js是單線程的這個基本都知道。這就引發了一個事件中執行ajax的問題

這是事件中帶有ajax的一般流程。

當我們事件綁定到a標籤或者是checkbox和radio等dom元素的時候,都會有一個預設的行為。如果正常的流程下我們可能就像圖上面的一樣綠到紅到黃,但是當ajax請求的時候中間會有延遲,這段閒置時間瀏覽器就會把黃色的代碼塊移上來先執行,然後再到ajax請求返回之後再執行ajax的回呼函數。這就造成了dom元素的預設行為比我們ajax回呼函數先執行。

我的解決辦法是:在黃色代碼塊中阻止其預設行為,在回呼函數中手動觸發行為。當然不是最優解,有更好辦法的歡迎留言!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.