任何人都有關於如何使用jquery.support測試特定於IE6(而不是IE7)的任何想法?使用jQuery.support檢測IE6
我的問題是,IE6支持:懸停psuedo類只錨元素和IE7確實支持所有元素(如FF,鉻等)。所以我想在瀏覽器不支持的情況下做一些特殊的事情:爲所有元素懸停...因此我需要一種方法來測試這個功能。 (不想使用jQuery.browser)。有任何想法嗎?
任何人都有關於如何使用jquery.support測試特定於IE6(而不是IE7)的任何想法?使用jQuery.support檢測IE6
我的問題是,IE6支持:懸停psuedo類只錨元素和IE7確實支持所有元素(如FF,鉻等)。所以我想在瀏覽器不支持的情況下做一些特殊的事情:爲所有元素懸停...因此我需要一種方法來測試這個功能。 (不想使用jQuery.browser)。有任何想法嗎?
儘管檢查功能支持而不是用戶代理是一種很好的做法,但沒有簡單的方法來檢查諸如使用JavaScript支持CSS屬性之類的東西。我建議你按照上面的海報建議使用條件註釋或使用jQuery.browser。一個簡單的實現(不進行驗證的性能或錯誤)可能看起來像這樣:
if ($.browser.msie && $.browser.version.substr(0,1)<7) {
// search for selectors you want to add hover behavior to
$('.jshover').hover(
function() {
$(this).addClass('over');
},
function() {
$(this).removeClass('over');
}
}
在您的標記,該.jshover類添加到您想要懸停在CSS效果的任何元素。在你的CSS,添加規則是這樣的:
ul li:hover, ul li.over { rules here }
jQuery.support沒有性能檢測:懸停支持 http://docs.jquery.com/Utilities/jQuery.support
,不過也許你可以簡單地使用懸停()事件 http://docs.jquery.com/Events/hover
是的,這正是我的問題:),我想喲用戶懸停()事件,但只有當
您可以使用Microsoft Internet Explorer中的具體Conditional Comment具體應用代碼只是IE6。
<!--[if IE 6]>
Special instructions for IE 6 here... e.g.
<script>...hook hover event logic here...</script>
<![endif]-->
這可能是最好的選擇,只是想知道是否有人有另一種方式來做到這一點...因爲jQuery文檔中提到「jQuery帶有許多屬性,你應該隨時添加你自己的。」無論如何感謝 – Jaime 2009-02-25 01:22:43
如果您要動態加載腳本或在動態創建的元素(例如模態)上運行代碼,這將不起作用。 – KyleFarris 2013-07-23 18:52:34
@KyleFarris取決於...你可以檢查IE6與條件註釋,如果你滿足條件,根據需要爲所有現有的DOM元素和未來元素使用`.live()`處理程序(在jQuery的最高設置jQuery的處理程序從jQuery的V1.8)或首選'。對()`1.7+ http://api.jquery.com/on/ – scunliffe 2013-07-23 20:38:44
這是一個例子,我們應該退後一步,問爲什麼你這樣做。
通常是創建一個菜單。如果是這樣,我強烈建議你省去一些頭疼的問題,並使用像superfish這樣的插件或者其中一種插件。
如果不是,我建議你使用jQuery hover()事件監聽器。例如:
$("td").hover(function() {
$(this).addClass("hover");
}, function() {
$(this).removeClass("hover");
});
會做你想做的。
ThickBox的使用
if(typeof document.body.style.maxHeight === "undefined") {
alert('ie6');
} else {
alert('other');
}
我會使用什麼:懸停 - http://www.xs4all.nl/~peterned/csshover.html
它使用行爲,並很適合我。
if ($.browser.msie && parseInt($.browser.version, 10) == 6) {
alert("I'm not dead yet!");
}
只是爲了好玩(不使用jQuery.support):
$(document).ready(function(){
if(/msie|MSIE 6/.test(navigator.userAgent)){
alert('OMG im using IE6');
}
});
你也可以做到這一點通過PHP
<?
if(preg_match('/\bmsie 6/i', $ua) && !preg_match('/\bopera/i', $ua)){
echo 'OMG im using IE6';
}
?>
沒有下面的答案竟然回答了這個問題!這是荒謬的。 – vsync 2013-02-20 16:34:16