我在IE8和邮政编码查找方面遇到了一个奇怪的错误。它可能不是导致它的邮政编码查找 - 只是一个修改选择的AJAX调用。我已经设置了一个测试页here。如果单击“查找地址”,然后双击(非常快速)在红色边框div边界内的其中一个地址上,则会在IE8中看到以下错误。
注意:我发现重现错误不一致,但如果您将地址列表向右滚动到底部,然后在Holly Cottage上快速双击它应该重现该错误。
如果有人能够阐明这种古怪的行为,我们将不胜感激。这是IE8的错误吗?
答案 0 :(得分:2)
我发现了问题 - 浏览器不喜欢为javascript:void()
属性设置href
。如果您想要一个默认操作被取消的工作锚,那么对#
属性使用href
,然后让该锚return false
的事件处理程序取消浏览器的默认操作。
呃...对...抱歉我急于发布答案而不是仔细检查问题是否得到了妥善解决。
我发现很难找到问题所在。我只会冒这样的猜测:同时运行和结束的两个效果会混淆IE8,导致div
设置为1px
的高度。这当然假设效果队列的jQuery实现中存在一个错误,我绝对不能保证。这只是我的理论 - 我对IE开发人员工具栏的不熟悉使我无法进一步调查。
答案 1 :(得分:1)
我想你运行动画是个问题。 您的异步操作会触发一些滑动动画。
第一:
尝试记录所有动画的结尾(在slide*
调用中放置回调函数并将一些文本记录到控制台。)以查看它们是否以正确的顺序运行 - 我认为它们没有,这就是问题。
第二:
尝试在每个异步触发的动画之前添加.stop()
,以便它同时打破其他动画。
第三: 如果上面没有帮助尝试每个动画:
if($(this).data('running')==0){
$(this).data('running',1).slideUp(function(){$(this).data('running',0)});
}else{ /*call with timeout or ignore...*/ }
它是元素的基本信号量。
OR
你可以在jQuery中正确使用.animate和动画队列,但对于这种情况来说这有点过分(我认为)。
答案 2 :(得分:0)
我的第一反应是它可能是一个CSS问题。如果我找到默认值,并单击“查找地址”链接一次,我会看到类似(但不完全相同)的布局问题。每个部分的高度看起来都是折叠的,就像浮动部分没有拾取正确的内容高度一样。如果我在每个contentRow上逐步指定高度或在pcodeLookupAddressEdit_risk_address上从block-none-block切换显示,则格式化将得到纠正。
我不知道具体原因,但是,您可能想检查幻灯片上的CSS和显示/隐藏行为。