我有三个标签和onClick它们我正在激活该标签并使用模板附加到html来显示相应的数据。
如果我没有将数据附加到html中,但是在附加html时,单击不会使选定的选项卡处于活动状态,直到附加html为止。
我想立即反映点击事件。
我的代码是这样的:
$("#sent, #all, #received").bind("click", function() {
$("#sent, #all, #received").removeClass('active');
$(this).addClass('active');
DashBoardManager.updateCommunications();
});
DashBoardManager.updateCommunications= new function(){
$("#communicationMainId").html('');
$.tmpl('communicationTmpl',DashBoradManager.allCommunications)
.appendTo("#communicationMainId");
}
答案 0 :(得分:0)
我想你是在UI(主)线程上附加数据。考虑将主线程与数据处理线程分开,允许主线程加载并显示新选项卡和附加数据的第二个线程,而不是在/之后。
修改:Here is Google's take on the matter:
当您的应用执行密集型工作以响应用户互动时, 除非你这样,否则这个单线程模型会产生很差 正确实施您的申请。具体来说,如果一切都是 发生在UI线程中,执行网络等长时间操作 访问或数据库查询将阻止整个UI。当线程是 阻止,不能调度任何事件,包括绘制事件。从 从用户的角度来看,应用程序似乎挂起了