会发生什么:我在IE中有一个onclick元素。比以前的编辑更简单(稍微削减一点)。
(css file)#dialog-modal{display:none;height:50px;width:50px;background-color:#000;}(/css)
<div id="dialog-modal" title="sample">xml data</div>
<button type="Button" onClick="makeBox();">Hello</button>
function makeBox(){
debugger;
$('#dialog-modal').show();
debugger;
console.log($('#dialog-modal').css('display'));
console.log('hasnt shown');
debugger;
console.log($('#dialog-modal').css('display'));
console.log('still hasnt shown');
debugger;
return false;
}
当你执行MakeBox onClick时,它直到函数的最后才执行show,理论上它应该在执行时执行,对吗?
问题是什么,更大,更烦人的问题是,当我使用onClick,或bind,或jquery或任何其他方法来实现这一点时,它总是解决&amp;显示在函数堆栈的最后...我有一个相当大的函数堆栈,它在打开时试图解决,但它不是UI-Dialog的问题(我最初认为是问题),它似乎问题更多的是在执行完成之前取消隐藏框的能力。
我的意思是,从概念上讲,还有另一种方法可以做到这一点,但是我点击某些东西,无论我是否使用jq-queue或callbacks,或者在IE8&amp;中绑定,点击,mousedowns。 9(我假设7),如果IE中的调试器与Chrome中的调试器相同(这可能完全是可能的,但我找不到该信息),那么唯一的可能性是IE存储dom操作直到功能堆栈清除,然后将它们射出。
我的目标是:点击某些内容。首先打开Box,显示加载对话框。扼杀一些愚蠢的数字。以愚蠢的数字插入数据。
强制性的JSFiddle:http://jsfiddle.net/5A4Nq/31/
同样小提琴,使用JQDialog&amp;打开回调(http://jsfiddle.net/5A4Nq/36/)
确保您已打开IE Developer Tools&amp;在脚本工具中开始调试。
版本:JQ-1.7.2
答案 0 :(得分:0)
在向JQuery核心团队投掷骨头之后,我最终确定在IE8中使用调试器的时机只是......糟糕。
IE8确实从未在调试器运行时完成dom操作任务,直到整个堆栈完成。有点奇怪。这很尴尬,这是我们对Internet Explorer的期待。