Javascript 导致IE8更改为IE7兼容模式的代码
我已经编写了一个javascript函数,它将创建一个弹出窗口,我正在从我的代码中调用该函数。但是,当我点击按钮ie更改为ie 7兼容模式时,我看到按钮后面有我的弹出窗口 以下是我的java脚本:Javascript 导致IE8更改为IE7兼容模式的代码,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,我已经编写了一个javascript函数,它将创建一个弹出窗口,我正在从我的代码中调用该函数。但是,当我点击按钮ie更改为ie 7兼容模式时,我看到按钮后面有我的弹出窗口 以下是我的java脚本: (function(){ jQuery.fn.popbox = function(options){ var settings = jQuery.extend({ selector : this.selector, open : '.open', box
(function(){
jQuery.fn.popbox = function(options){
var settings = jQuery.extend({
selector : this.selector,
open : '.open',
box : '.box',
close : '.close'
}, options);
var methods = {
open: function(event){
methods.close();
jQuery('.collapse').show();
createpopbox();
event.preventDefault();
//alert("In code");
var pop = jQuery(this);
var box = jQuery(this).parent().find(settings['box']);
//alert(jQuery(this).attr("class"));
var open= jQuery(this).parent().find(settings[jQuery(this).attr("class")]);
if(box.css('display') == 'block'){
methods.close();
} else {
box.css({'display': 'block', 'top': (jQuery(this).position()).top + 12, 'left':(jQuery(this).position()).left });
}
},
close: function(){
jQuery(settings['box']).hide();//.fadeOut("fast");
removedivs();
}
};
jQuery(document).bind('keyup', function(event){
if(event.keyCode == 27){
methods.close();
}
});
jQuery(document).bind('click', function(event){
if(!jQuery(event.target).closest(settings['selector']).length){
methods.close();
}
});
return this.each(function(){
jQuery(this).css({'width': jQuery(settings['box']).width()}); // Width needs to be set otherwise popbox will not move when window resized.
jQuery(settings['open'], this).bind('click', methods.open);
jQuery(settings['open'], this).parent().find(settings['close']).bind('click', methods.close);
});
};
}).call(this);
function createpopbox(){
jQuery('<div class="arrow"></div>'+
'<div class="arrow-border"></div>'
).appendTo('.box');;
}
function removedivs(){
jQuery('form').remove('#subForm');
jQuery('div').remove('.arrow');
jQuery('div').remove('.arrow-border');
}
(函数(){
jQuery.fn.popbox=函数(选项){
var settings=jQuery.extend({
选择器:this.selector,
打开:'.打开',
方框:'.box',
关闭:'.close'
},选项);
var方法={
打开:功能(事件){
方法:close();
jQuery('.collapse').show();
createpopbox();
event.preventDefault();
//警报(“代码”);
var pop=jQuery(this);
var-box=jQuery(this.parent().find(设置['box']);
//警报(jQuery(this.attr(“类”));
var open=jQuery(this.parent().find(设置[jQuery(this.attr)(“类”));
if(box.css('display')=='block'){
方法:close();
}否则{
css({'display':'block','top':(jQuery(this.position()).top+12,'left':(jQuery(this.position()).left});
}
},
关闭:函数(){
jQuery(设置['box']).hide();//.fadeOut(“快速”);
移除静脉();
}
};
jQuery(文档).bind('keyup',函数(事件){
如果(event.keyCode==27){
方法:close();
}
});
jQuery(文档).bind('click',函数(事件){
如果(!jQuery(event.target).closest(设置['selector']).length){
方法:close();
}
});
返回此值。每个(函数(){
jQuery(this).css({'width':jQuery(settings['box']).width()});//需要设置宽度,否则在调整窗口大小时popbox将不会移动。
jQuery(设置['open'],this.bind('click',methods.open));
jQuery(设置['open'],this.parent().find(设置['close']).bind('click',methods.close));
});
};
}).打电话(这个);
函数createpopbox(){
jQuery(“”+
''
).appendTo(“.box”);;
}
函数removedivs(){
jQuery('form')。删除('#子表单');
jQuery('div').remove('.arrow');
jQuery('div').remove('.arrow-border');
}
我曾尝试添加meta标签,以强制页面保持在IE8上,但它不起作用
有人能帮我摆脱这一切吗
谢谢我认为问题不在代码中,默认情况下,浏览器对intranet站点使用兼容模式始终为此类问题准备一个
jsfiddle链接
,因为这样可以轻松地测试脚本或代码。