[英]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,看它是如何工作的。
$.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。
使用特征檢測。
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.