簡體   English   中英

操作DOM時Javascript是否同步?

[英]Is Javascript synchronous when manipulating the DOM?

我有一個輸入類型字段的表單。 我有幾個單選按鈕,根據我點擊的那些,輸入類型字段中的值將被更新。 之后,我將調用Javascript函數來執行某些操作,該函數將使用輸入字段中更新的數量(文本)。

當然,將該數量傳遞給函數本身更安全,但我可以依賴Javascript首先更新DOM,顯示更新輸入字段值,然后通過document.getElementById("input-quantity").value檢索它document.getElementById("input-quantity").value並在函數中使用它? 或者,如果DOM的刷新花費時間,函數是否可以獲得“舊”值?

如你所說,只是將值傳遞給函數將是首選。

但是,設置輸入值是同步的; 在您描述的內容中,您將可靠地獲得更新的值,跨瀏覽器。 其他DOM操作(插入元素,刪除它們,移動它們)也是同步的,盡管用戶可能在JavaScript代碼完成之前看不到結果,讓瀏覽器使用線程重新繪制顯示。 (盡管JavaScript本質上不是單線程的,但瀏覽器使用單個主UI線程來運行JavaScript代碼,並且通常還使用該線程來更新顯示。)

暫無
暫無

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

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