一個基本的認識問題:HTML/Javascript:多個onClick函數觸發順序/延遲?
具有的onClick作用的元素 - 多個JavaScript調用正在取得:
onclick="function1();function2();function3()"
然而,隨着功能3取決於期函數的動作,我需要確保功能3直到function1全部完成。而這似乎並不是事物的自然順序,實際上似乎所有3種功能在同一時間或多或少地發射(至少不等待彼此完成)。無論如何,我能做到這一點?
編輯:不能從相同functinon調用做到這一切,它是某些更新div的(大部分)Ajax調用...
進一步編輯:好了,可以看到,也許需要進一步澄清(認爲有一個簡單的,合乎邏輯的方式來處理它,可以這麼說...)
函數調用正在觸發ajax動作,該動作通過PHP更新頁面(div的內容)。如果我應該使用返回值,那麼我應該修改我的中心ajax js函數,以便在完成時返回某些內容,並且只有在設置了該值時才觸發下一個函數。任何人都有一個很好的片段來做到這一點onClick事件..? :-)
或...作爲一個黑客的東西 - 我應該堅持在function3前1秒的延遲? :-)我將如何去直接在onClick事件中? :-)
爲什麼你不把所有的功能集中在一個? – 2013-05-08 06:35:09
使用該代碼,將依次調用每個函數。在前一個完成之前,不會調用任何函數。函數稍後可能會做某些事情(例如,如果它調用'setTimeout'或設置事件處理程序,但沒有通用方法來捕獲它。你必須編寫一個回調函數,讓它稍後運行代碼)。 – Quentin 2013-05-08 06:39:57
也許我應該指定(感謝所有已經回答的人) - function1對db進行了一些更新並更新了一個div(ajax)... function3(所有這些只是seudo的例子)更新了另一個div,這取決於函數1的db動作。在現場示例中,我可以看到function3更新了div BEFORE function1已更新... – 2013-05-08 07:09:50