错误 jquery-ui 可拖动无法读取属性“msie”
Posted
技术标签:
【中文标题】错误 jquery-ui 可拖动无法读取属性“msie”【英文标题】:Error jquery-ui draggable Cannot read property 'msie' 【发布时间】:2012-12-31 05:44:10 【问题描述】:我在制作jquery-ui 可拖动时遇到了一些麻烦。我将与您分享我的解决方案,这是最好的解决方案吗?
我只是在开始真正的工作之前插入这个来测试。
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js"></script>
和
$('img').draggable();
喜欢这里:http://jsbin.com/eqowet/2/
但我得到了一个错误:
错误:未捕获的类型错误:无法读取未定义的属性“msie”。
【问题讨论】:
你可以升级到最新版本的jqueryui(现在最高1.10.0) 【参考方案1】:msie 是jQuery.browser 属性上的标志
jQuery.browser 自 1.3 版以来已被弃用,并在 jQuery 1.9.0 中被删除
由于您使用的是最新版本的托管 jQuery,因此您的库已自动升级到 1.9.0,因此出现了错误。
正如您已经意识到的,恢复到 1.8.3(或更早版本)可以解决问题;然而,真正的解决方案是停止使用jQuery.browser
【讨论】:
jqueryUI 使用的是 jQuery.browser,而不是他 @Ascherer 我刚刚解释了问题的根源,可能对其他人有帮助 是的,jqueryui 1.10 不再使用它了【参考方案2】:我尝试了很多示例,但都不起作用,只是同样的消息,我意识到版本 1.8.24 与上一个 jQuery 版本不兼容。我已经改变了它,瞧,现在正在工作。
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
喜欢这里:http://jsbin.com/eqowet/3/
【讨论】:
【参考方案3】:您可以使用 migrate.js 来获得兼容性
http://blog.jquery.com/2013/02/16/jquery-migrate-1-1-1-released/
【讨论】:
【参考方案4】:我在旧版本的 jquery mobile 上遇到了这个错误。如果您使用的是旧的 JQM,则需要更新。如果你在 Rails 上,你可以使用 jqueryhttps://github.com/tscolari/jquery-mobile-rails
如果您现在使用 rails gem,请务必获取 1.3 beta 1 来获得此修复:
gem 'jquery_mobile_rails', "~> 1.3.b1"
【讨论】:
【参考方案5】:“可排序”出现同样的错误。 所以,确保所有依赖的脚本都包括在内,也应该是正确的顺序。
jquery.min.js
jquery.ui.core.js
jquery.ui.sortable.min.js
例如,要使其在 Joomla 上运行,您可以这样做:
$doc =& JFactory::getDocument();
$doc->addScript('/media/jui/js/jquery.min.js');
$doc->addScript('/media/jui/js/jquery.ui.core.js');
$doc->addScript('/media/jui/js/jquery.ui.sortable.min.js');
【讨论】:
以上是关于错误 jquery-ui 可拖动无法读取属性“msie”的主要内容,如果未能解决你的问题,请参考以下文章
jquery-ui.js:8056 未捕获类型错误:无法读取未定义的属性“左侧”