Javascript JQuery可拖动方法在内部局部视图中不可用
我有一个部分视图,其中有许多Div,每个Div都使用jqueryui可拖动库设置为可拖动 Jquery脚本加载到母版页中,当您自己打开partialview时,它工作正常。但是,我使用ajax在主页中加载此partialview,这是通过在下拉列表中选择一个选项触发的。当我这样做时,jquery代码不再工作,我得到以下错误:Javascript JQuery可拖动方法在内部局部视图中不可用,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我有一个部分视图,其中有许多Div,每个Div都使用jqueryui可拖动库设置为可拖动 Jquery脚本加载到母版页中,当您自己打开partialview时,它工作正常。但是,我使用ajax在主页中加载此partialview,这是通过在下拉列表中选择一个选项触发的。当我这样做时,jquery代码不再工作,我得到以下错误: Uncaught TypeError: Object #<an Object> has no method 'draggable' 使用Jquery load
Uncaught TypeError: Object #<an Object> has no method 'draggable'
使用Jquery load语句加载局部视图:
$('#relationships').load('<%= Url.Action("ListRelationshipMappings", "Admin") %>/' + $("#availibleInstances").val())
availibleInstances只是一个允许选择ID字段的下拉列表。此错误通常是因为您没有正确引用UI javascript库。此错误通常是因为您没有正确引用UI javascript库。结果,这是因为我还使用Telerik MVC脚本寄存器选项来加载它的脚本,这加载了它自己版本的Jquery,这导致了冲突 这可以通过使用以下方法来解决,即在不使用Jquery的情况下加载Telerik脚本:
<% Html.Telerik().ScriptRegistrar().jQuery(false); %>
事实证明,这是因为我还使用Telerik MVC脚本寄存器选项加载了它的脚本,加载了它自己版本的Jquery,这导致了冲突 这可以通过使用以下方法来解决,即在不使用Jquery的情况下加载Telerik脚本:
<% Html.Telerik().ScriptRegistrar().jQuery(false); %>
我也遇到了同样的问题,我意识到我在母版页和使用Ajax加载的部分视图中加载了以下脚本
请确保不要两次加载脚本…我也遇到了同样的问题,我意识到我在母版页和使用Ajax加载的部分视图中加载了以下脚本
<!--<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>-->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
请确保不要加载脚本两次
<!--<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>-->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
例如,如果在库之前列出了UI。。。如上图所示,您将得到此错误。如果您按照以下所列方式进行操作:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<!--<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>-->
你不会的
快乐密码;D
为了不让新人感到困惑,两者之间的任何事情都是不必要的。。。只是使用注释掉的片段进行演示
例如,如果在库之前列出了UI。。。如上图所示,您将得到此错误。如果您按照以下所列方式进行操作:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<!--<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>-->
你不会的
快乐密码;D
为了不让新人感到困惑,两者之间的任何事情都是不必要的。。。仅使用注释掉的部分进行演示。正如我所说,JQuery和UI库在母版页中被引用,这在直接使用局部视图时有效,但在使用ajax加载到另一个页面时无效。当通过ajax调用加载它时,我应该做些什么吗?@Sam,转到firebug,看看您是否有可用的javascript库,或者您也可以在该页面上创建viewsource。@gov是的,这些库是可用的,并且在主页的某些部分中使用。请注意,如果您没有完整的库,则可能缺少可拖动功能。下载jQuery UI库时请记住勾选Dragable前面的复选框,正如我所说的,jQuery和UI库在母版页中被引用,这在直接使用部分视图时有效,但在使用ajax加载到另一个页面时无效,当通过ajax调用加载它时,有什么特别的事情需要我做吗?@Sam,转到firebug,看看您是否有可用的javascript库,或者您也可以在该页面上创建viewsource。@gov是的,这些库是可用的,并且在主页的某些部分中使用。请注意,如果您没有完整的库,则可能缺少可拖动功能。下载jQuery UI library时,请记住勾选Draggable前面的复选框。我不确定否决票的目的是什么,如果有不清楚的地方,请告诉我我否决了无效且模糊的问题标题。如果你犯了这个错误,Javascript必须至少能工作,而我祖母用“不工作”这个词来形容死亡蓝屏;Try:uncaughttypeerror:对象在使用时没有方法“draggable”错误PartialView@jfar“不工作”是我祖母用来形容死亡蓝屏的词,我笑着把啤酒洒在了屏幕上。将此添加书签以供进一步参考:-@Sam Cogan,您显示的javascript位于何处?在局部视图中还是在主视图中?如何使用AJAX加载分部文件?你能分享你的那部分代码吗?@darin,这是部分观点。我不太确定否决票是投给谁的,如果有什么不清楚的,告诉我我否决了不起作用和含糊不清的问题标题。如果你犯了这个错误,Javascript必须至少能工作,而我祖母用“不工作”这个词来形容死亡蓝屏;Try:uncaughttypeerror:对象在使用时没有方法“draggable”错误PartialView@jfar“不工作”是我祖母用来形容死亡蓝屏的词
我笑着把啤酒洒在屏幕上了。将此添加书签以供进一步参考:-@Sam Cogan,您显示的javascript位于何处?在局部视图中还是在主视图中?如何使用AJAX加载分部文件?你能分享你的那部分代码吗?@darin它在部分视图中。