我正在尝试在获取提要之前更改文本。
但是在我收到提要后文本发生了变化。
问题/答案仅适用于 Google Chrome(因为它是一个扩展程序)
抱歉我的英语不好 ;-)
$("h1").click(function(){ $(this).text("Loading..."); // this happen after fids(); fids(); // function to get feeds });
最佳答案
最好将 fids
改为异步工作,但如果你不能那样做,你可以在超时时运行 fids
:
$("h1").click(function(){
$(this).text("Loading...");
setTimeout(fids, 0);
});
Try it在 JSFiddle 上。
它不能像您那样工作的原因是在所有常见的浏览器中,JavaScript 在 UI 线程上运行。如果您更改文本然后调用阻塞函数,浏览器会等待 JavaScript 完成运行,然后再更新 UI。在浏览器有时间重绘文本后,使用 setTimeout
使其在下一个事件循环中运行。
关于javascript - Javascript 问题(异步调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9155000/