gpt4 book ai didi

javascript - IE 组合框使用,选择时卡住

转载 作者:行者123 更新时间:2023-11-28 21:16:12 24 4
gpt4 key购买 nike

我使用组合框选择四所校舍之一。

做出选择后,我将使用 jQuery 来运行一些函数。

所需功能之一利用我们的 VLE 自己的自定义 API。我使用的特定 API 的限制意味着我们每次调用只能检索 100 个用户的信息。因此,对于一所拥有 1300 名学生的学校,我必须运行 26 次调用(每个姓氏首字母一次调用)。

它的工作效果足以满足需要的频率。我有一个正在加载的 GIF,它会一直保留到信息返回为止。

在 FireFox 中,这按预期工作,但在 Internet Explorer 中编辑:版本 8,下拉菜单会卡住,直到检索到信息。

有什么方法可以轻松纠正这个问题吗?我并不特别喜欢彻底修改大部分代码 - 这个功能不会被大量使用。

    widget.onLoad = function(){
HPAnalysisObject.init();

$('select#house_picker').change( function() {
var val = $(this).val();
val = val.split(",");
var label = val[0];
var house_id = val[1];
HPAnalysisObject.initHPTotals( house_id, label );
} );
}

HPAnalysisObject.initHPTotals = function(house_id, label) {
HPAnalysisObject.id_list = [];
$('div#display').html('<img src="/user/74/168586.gif" alt="LOADING..." />');

for (var i = 1; i <= 26; i++) {
initial = String.fromCharCode(64 + i);
Frog.API.get("users.search", {
"params": {"surname": initial, "group": house_id},
"onSuccess": HPAnalysisObject.addUsers
});
}

HPAnalysisObject.setLabel(label);
HPAnalysisObject.getHPTotals();
};

还有其他功能,但 Frog.API.get 调用会减慢一切速度(它进行 26 个 ajax 调用...:)。

所以,基本上,我希望在调用之前可以放置一些东西,允许组合框返回到其未下拉状态,从而显示我的加载 GIF。

Internet Explorer ^^ Internet Explorer

火狐 ^^ FireFox

非常感谢。

最佳答案

Javascript 代码在允许更新 UI 之前运行。

推迟对 initHPTotals 的调用,以便 Javascript 代码在组合框折叠后执行,例如使用 setTimeout。 10 或 20 毫秒应该没问题:

    $('select#house_picker').change( function() {
var val = $(this).val();
val = val.split(",");
var label = val[0];
var house_id = val[1];
setTimeout(function() {
HPAnalysisObject.initHPTotals( house_id, label );
}, 10);
} );

关于javascript - IE 组合框使用,选择时卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7516461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com