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更改为。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
当迁移到1.9x时,你应该使用jQuery migrate插件来查看任何错误。此外,jQuery建议在Modernizr等库中使用特性检测。
可以使用jQuery Migrate插件调用$.browser
。会成功的!
使用插件很容易;只需要在jQuery的script标签之后立即包含它,例如
<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(参见左侧的Migrate 1.1.0复选框被选中)
$。浏览器已从1.9删除。你可以使用jQuery Migrate来获得$。浏览器支持。
参见前文: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");
}
(未测试)
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Onclick 无法正常工作,并且将按钮移动到下一行不起作用
- 添加另一行后,Javascvript无法工作
- 为什么当返回值在另一行时,Javascript返回语句不能工作?
- 我的正则表达式只需一行输入即可正常工作,但不要't有两个或两个以上.
- IE 11的文本区选择在最后一行不能正常工作
- 试图使嵌入在表单中的表中的每一行可单击,以使项目按设计工作(没有提交按钮)
- jQuery从1.8.3到1.9.1的迁移在一行中停止了工作,我不知道为什么
- 用Ajax将变量发送到PHP文件以从Mysql中删除一行-不工作
- HTML跳过一行不工作
- 基础均衡器不与一行内的显卡工作
- javascript仅在代码中某一行以下停止工作