错误 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 未捕获类型错误:无法读取未定义的属性“左侧”

jQuery-UI - “无法读取未定义的属性‘步骤’”

拖放到动态创建的 div 后,Jquery-ui 可拖动无法正常工作

动态创建jquery-ui可拖动句柄

jQuery-UI 可拖动和可放置项目变为不可拖动

JQuery-UI 可拖动项变为不可拖动