我正在使用閃存保存方法的jquery webcam plugin。我想在用戶點擊保存後設置一條消息,以便他們知道它正在保存。我的代碼是這樣的:jQuery - 防止進一步的代碼執行,直到顯示html後
$('#savepicmessage').html("Saving picture, please wait");
webcam.capture();
webcam.save('/savephoto.php');
問題是隻有在保存圖片後才顯示「保存圖片」消息。有沒有辦法阻止執行.html(「保存圖片,請稍候」)調用後的代碼,以便在消息顯示之前不會執行該代碼?
我可以用setTimeout實現它,並捕獲並保存從那裏調用的函數,但這不夠可靠。
我看着.when和deferred.then,但似乎沒有工作。
我必須承認在這一個完全神祕化。 .html()不是一個動畫調用,不應該被定時器啓動。通過此代碼的單個線程在調用這兩個函數之前應完全完成對DOM的更改。這個問題在多個瀏覽器中是否一致?此外,如果您使用Firebug或其等價物在webcam.capture()處設置斷點,HTML是否會在此時更新? – 2012-07-05 20:33:59
它發生在Firefox,鐵和IE(也許別人,這就是我所嘗試的)。如果我在firebug中設置了一個斷點,那麼在腳本被斷點停止之前HTML會顯示更新。 – 2012-07-05 21:06:32