“可拖动不是函数”,当在另一个函数中时
"draggable is not a function" when inside another function
我试图在用户单击按钮时激活jQuery-ui .draggable-function。脚本包含在内且正常,因为当我使用以下代码时一切正常:
<script>
function test() {
$( ".bord" ).draggable({ containment: ".rom", scroll: false });
}
test()
</script>
然后 .bord 类是可拖动的。但我希望它只有在您单击按钮时才可拖动,所以我使用以下代码:
<script>
function test() {
$( ".bord" ).draggable({ containment: ".rom", scroll: false });
}
$("#bordplassering").click(function() {
test();
});
</script>
问题从这里开始了...这给了我以下错误:
"类型错误: $(...).可拖动不是一个函数"
为什么!?
请像这样使用它:(你必须在document.ready函数中移动你的点击函数)
<script>
function test() {
$( ".bord" ).draggable({ containment: ".rom", scroll: false });
}
$( document ).ready(function() {
$("#bordplassering").click(function() {
test();
});
});
</script>
试试这个结构:
<script>
$(function() {
$(".bord").draggable({containment: ".rom", scroll: false});
});
</script>
但在开始之前:
- jQuery库必须在调用之前存在
$
- jQuery UI库必须在调用
$()
$.draggable
之前存在
此外,您还应该阅读有关 DOM 和 DOM 就绪事件的信息。
我建议仅在开始时应用拖动功能,并且在单击时您可以使用启用和禁用方法来使其无法和禁用。
http://api.jqueryui.com/draggable/#method-disable
使用文档就绪
$(document).ready(function() {
$( ".bord" ).draggable({ containment: ".rom", scroll: false });
$( ".bord" ).draggable( "disable" );
$("#bordplassering").click(function() {
$(".bord").draggable( "enable" );
});
});
谢谢大家的帮助。正如此处的评论中指出的那样,问题是jQuery第二次加载到页脚.php文件中。
但是肯定也有很多改进代码的好主意。
相关文章:
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在另一个函数中使用变量this
- 在另一个函数成功结束后调用该函数
- 多次调用另一个javascript函数中的javascript函数
- 使用JS函数来使用另一个函数的语法?node.js
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 另一个Ajax函数触发的Ajax函数不起作用
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在不预定义的情况下将javascript函数传递到另一个函数中
- 从另一个函数获得$this值
- 如何记录调用另一个函数的函数的返回值
- 它在另一个函数中嵌套后不会输出文本
- 如何将自动完成的值传递到另一个函数中
- 将一个函数作为参数传递给javascript中的另一个函数
- 同一事物的两个函数,一个崩溃,另一个不崩溃,为什么
- 从另一个函数延迟解析的返回
- 多次调用promise函数,直到另一个promise函数满足条件