我有一个局部视图,它有许多Div,每个Div都被设置为使用JQuery UI可拖动库进行拖动。
Jquery脚本被加载到母版页中,当您打开它自己的部分视图时,它工作正常。但是,我使用ajax在主页中加载此部分视图,这是通过在下拉列表中选择一个选项触发的。当我这样做的时候,jquery代码不再工作,并且我得到了这个错误:
Uncaught TypeError: Object #<an Object> has no method 'draggable'部分视图似乎没有访问jquery库的权限,但我不知道为什么。
我使用的set The Div's up as draggable的代码如下:
$(function () {
$(".NameBox").draggable({
revert: true,
start: function (event, ui) {
document.onselectstart = function () { return false; };
},
stop: function (event, ui) {
document.onselectstart = function () { return true; }
}
});
$(".NameBox").live(droppable({
accept: '.NameBox',
drop: function (event, ui) {
alert(ui.draggable.attr("dropped"))
});
});使用Jquery load语句加载分部视图:
$('#relationships').load('<%= Url.Action("ListRelationshipMappings", "Admin") %>/' + $("#availibleInstances").val())availibleInstances只是一个允许选择ID字段的下拉列表。
发布于 2010-11-22 04:44:01
事实证明,这是因为我还使用了Telerik MVC脚本注册选项来加载它的脚本,后者加载了它自己的Jquery版本,这导致了冲突。
这可以通过使用以下命令加载Telerik脚本而不使用Jquery来解决:
<% Html.Telerik().ScriptRegistrar().jQuery(false); %>发布于 2010-11-22 03:49:36
这个错误通常是因为你没有正确引用UI javascript库。
发布于 2013-06-12 04:13:38
<!--<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
为了不让新人感到困惑,没有必要在这两者之间做任何事情……只是使用注释掉的部分进行演示。
https://stackoverflow.com/questions/4239954
复制相似问题