【发布时间】:2014-08-25 03:50:57
【问题描述】:
我一直在解决这个问题,但没有成功。我不确定为什么我的 jQuery 代码没有在 IE9 中加载。它非常庞大,但它基本上只是检测 DOM 中的 svg 文档并对其进行操作。基本上,这就是我的代码的样子:
jQuery(document).ready(function($) {
// init panzoom
initPanZoom();
function initPanZoom() {
// get svg containers for each main tab
var svgs = [$("#pcb").find("svg"), $("#gerber").find("svg")];
$(".schematic-sheet").each(function(){
svgs.push($(this).find("svg"));
});
var objPlaceholders = [];
$.map(svgs, function(obj, index){
objPlaceholders[index] = new PanZoom({
svg: obj[0],
viewportClass: "svgscale",
userViewport: $("#user-viewport")[0]
});
obj.closest("div").find('.zoom-in').on('click', function(e){
e.preventDefault();
objPlaceholders[index].handleMouseClick(1.5);
});
obj.closest("div").find('.zoom-out').on('click', function(e){
e.preventDefault();
objPlaceholders[index].handleMouseClick(-1.5);
});
obj.closest("div").find('.reset').on('click', function(e){
e.preventDefault();
objPlaceholders[index].handleMouseClick(0);
});
});
}
});
最奇怪的是第一次加载它,initPanZoom() 根本没有被调用。几分钟后,当您刷新时,它会被调用。所以我不知道肯定有什么问题。请注意,这只体现在 IE9 中。
更新
我还应注意,此代码加载到 iframe 内的页面上。我注意到直接在浏览器中查看页面有时可以解决问题。
【问题讨论】:
-
你的
jQuery是什么版本的? -
@PM77-1 是
1.11.1 -
您在控制台中看到了哪些错误(如果有)?
-
@aDroidman 不幸的是没有错误...
标签: javascript jquery svg internet-explorer-9