我们在我们的网站上为各个领域使用jQuery UI MultiSelect 小部件。为了保持一致性,我们甚至将它用于非多选。我们使用的示例代码是:
jQuery('#model').multiselect({
multiple : false,
minWidth : 'auto',
height : 'auto',
header : false,
selectedText: multiselect_set_label,
open : multiselect_fit_widget,
close : multiselect_free_keyboard,
create : multiselect_fit_label,
beforeopen : multiselect_bold_options
});
它在任何地方都不完全相同,所以我们不能只为所有多选设置一个设置。(如果到处都一样,我会进行一次初始化并尝试匿名函数)
IE8 抛出错误“ 'multiselect_set_label' is undefined ”(或 multiselect_fit_widget 或其他一些函数)。
该函数定义如下:
function multiselect_set_label(selected, total, elements)
{
/* lots of code here */
}
我也尝试将其更改为:
var multiselect_set_label = function(selected, total, elements)
{
/* lots of code here */
}
但是问题仍然存在(我在尝试之间确实清除了缓存)。
在整个测试过程中,所有其他浏览器都运行良好,并且由于 IE8 仅占我们访问者的 1.8%,这对我们来说不是一个紧迫的问题,所以如果没有简单的解决方案,我会忽略它。但是,如果可以解决这个问题,那就太好了,因为我们的网站目前在 IE8 上根本无法使用。(我知道 IE 8 访问者比例低的原因可能是因为问题,但我们也没有任何访问者投诉)