0
我寫了一個JavaScript函數,它將創建一個彈出窗口,並且我從我的代碼中調用該函數。但是當我點擊該按鈕即ie更改爲ie 7兼容模式,我看到我的彈出按鈕後面。代碼導致IE 8更改爲IE7兼容模式
這裏是我的Java腳本:
(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');
}
我曾嘗試加入meta標記來強制頁面留在IE 8,但它不工作。
任何人都可以幫我解決這個問題嗎?
感謝
總是準備這樣的問題了'的jsfiddle link',因爲這將很容易讓測試你腳本或代碼。 – Yasser