【发布时间】:2016-09-22 14:28:26
【问题描述】:
我有一个从单独的 js 文件加载时运行的简单脚本。 设置是这样的:
var ddlPeriodeVan = $('[id$=ddlPeriodeVan]');
var ddlPeriodeTot = $('[id$=ddlPeriodeTot]');
chkPeriodeVanTot = $('[id$=chkPeriodeVanTot]').length > 0 ? $('[id$=chkPeriodeVanTot]') : $('[id$=rbPeriodeVanTot]');
var periodeBereik = { van: 'ddlPeriodeVan', tot: 'ddlPeriodeTot', err: 'ddlPeriode', chk: chkPeriodeVanTot, label: 'Periode' };
if (ddlPeriodeVan.length > 0 && ddlPeriodeTot.length > 0) {
if (chkPeriodeVanTot.length > 0) {
chkPeriodeVanTot.change(periodeBereik, changedCheckNummerBereik);
if (chkPeriodeVanTot.prop('checked')) { // checkbox aangevinkt, maak de waardevelden bewerkbaar
ddlPeriodeVan.prop('disabled', false).prop('readonly', false).css('background-color', '#FFFFFF');
ddlPeriodeTot.prop('disabled', false).prop('readonly', false).css('background-color', '#FFFFFF');
} else { // Disable en readonly aanzetten, achtergrond blauw en tekst op (leeg indien textbox / defaultwaarde indien dropdown)
// The debugger actually gets here and changes the properties correctly
// When there is no breakpoint, the changes have no effect
// When there is a breakpoint, the changes are made and remain visible
ddlPeriodeVan.prop('disabled', true).prop('readonly', true).css('background-color', '#AACAF4');
ddlPeriodeTot.prop('disabled', true).prop('readonly', true).css('background-color', '#AACAF4');
}
}
在初始 page_load 时,chkPeriodeVanTot 未被选中,ddlPeriodeVan 和 ddlPeriodeTot 应被禁用、只读且具有不同的背景颜色。
这在其他浏览器中运行良好(当然),但 IE 对此的看法不同,我不知道为什么。
奇怪的是,当我在 IE11 中开发者工具并在文件中设置断点时。断点被击中,代码 ddl 已按预期更改! IE 是否会在某处刷新 DOM,从而丢失所有更改?
编辑
我发现甚至没有必要设置断点。只需打开 F12 开发人员工具窗口就可以了。一切都正确加载。 关闭 F12 并刷新再次打破它......
【问题讨论】:
标签: javascript jquery internet-explorer