我正在使用闪存保存方法的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