2012-10-17 83 views
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,但它不工作。

任何人都可以幫我解決這個問題嗎?

感謝

+0

總是準備這樣的問題了'的jsfiddle link',因爲這將很容易讓測試你腳本或代碼。 – Yasser

回答

0

我覺得這個問題是不是在代碼中,Intranet站點的默認瀏覽器使用兼容模式