簡體   English   中英

jQuery從1.8.3遷移到1.9.1停止在一行中工作,我不知道為什么

[英]jQuery migration from 1.8.3 to 1.9.1 stops working in one line, and I don't know why

我使用的是這段代碼:

http://labs.abeautifulsite.net/archived/jquery-alerts/demo/

它與jQuery 1.8.3一起運行良好。

現在我改為jQuery 1.9.1,它停止了工作

我的大多數其他代碼都有問題,大部分我不得不改變.live for .on它已經解決了(我不知道這是否是正確的做法),但是使用這段代碼,我找不到問題。

這條線似乎給出了問題:

// IE6 Fix
var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed';

你可以在jsFiddle中測試它,你可以改為jQuery 1.8.3,看它是如何工作的。

http://jsfiddle.net/sebababi/P8sfn/1/

$.browser在jQuery 1.3中已棄用,在1.9中已刪除。

http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed

您應該使用jQuery遷移插件來查看遷移到1.9x時的任何錯誤。 此外,jQuery建議使用與Modernizr等庫一起使用特征檢測。

您可以使用jQuery Migrate插件並調用$.browser 它會工作!

使用插件很容易; 例如,只需在jQuery的腳本標記之后立即包含它。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>

JS:

$.each($.browser, function(i, val) {
  $("<div>" + i + " : <span>" + val + "</span>")
  .appendTo( document.body );
});

DEMO HERE (請參閱左側選中遷移1.1.0復選框)

$ .browser已從1.9中刪除。 您可以使用jQuery Migrate來支持$ .browser。

見前TypeError:'undefined'不是對象(評估'$ .browser.msie')

使用特征檢測。

var someEl = $("#theid");
someEl.css("position","fixed");
if ( someEl.css("position") == "static" ) {
    // doesn't support fixed, use absolute
    someEl.css("position","absolute");
}

(未測試)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM