JQuery UI sortable()方法不支持错误
本文关键字:方法 不支持 错误 UI sortable JQuery | 更新日期: 2023-09-27 18:10:27
我正在开发一个ASP。. NET MVC 4 web应用程序,它使用最新的JQuery和JQuery UI库,并自动引用它们(在_Layout中)。cshtml页面).
我一直遵循这里的教程来实现对表的拖放重新排序功能。
但即使我显式地在视图模型上添加了对最新JQuery UI文件的引用,例如
<script src="/Scripts/jquery-ui-1.10.2.min.js" type="text/javascript"></script>
sortable()方法不起作用。它不会在Visual Studio智能感知中显示,并且在运行时不起作用。在Internet Explorer(或任何浏览器)上运行时,我只是得到一个错误,说"对象不支持属性或方法'sortable'"。
下面是我如何尝试使用这个方法:
<script type="text/javascript">
$(document).ready(function()
{
$("#clueTable tbody").sortable();
});
</script>
我注意到智能感知有一个属性'sortables'和'sort',它从JQuery UI文件中找到,但不是'sortable'。
所以参考资料似乎很好,它绝对是最新的JQuery UI代码(我通过获取最新的文件验证了这一点),所以我有点困惑这一个。
cshtml,它看起来像在某个点我手动引用JQuery和JQuery UI脚本,忘记了脚本已经在包中呈现,例如
@Scripts.Render("~/bundles/jquery")
我正确地引用了正确的脚本,但因为它们再次被加载,我认为它们正在破坏文件的第一个实例,包括JQuery UI代码,它依赖于加载的JQuery文件。
我也不明白的是,默认情况下,ASP。. NET MVC 4应用程序不呈现JQuery UI框架,即使这些文件存在于项目中,并且在bundleconfigs文件中创建了一个脚本包。
因此,为了解决我的问题,我删除了所有的手动引用,以便只呈现bundle,并在_Layout的头部添加了以下行来呈现JQuery UI代码。CSHTML文件:
@Scripts.Render("~/bundles/jqueryui");
bundle的工作方式是Global。asax文件调用了bundlecong .cs的'RegisterBundles'方法,它通过在'Scripts'文件夹中搜索相关的JavaScript文件来创建新的脚本包。
然后,要从HTML中加载脚本文件,你必须使用@Script.Render()来渲染它们,并提供脚本包的名称作为参数(例如:"~/包/jqueryui")。要呈现网站每个页面上的所有脚本,您可以将其添加到_Layout中。CSHTML文件,该文件应用于每个页面。