gridstack 基础知识,如何使演示工作
gridstack basics, how to make the demo work
真是菜鸟问题,但我不明白我在这里做错了什么?
<head>
<link rel="stylesheet" type="text/css" href="gridstack.js/dist/gridstack.css">
</head>
<body>
<div class="grid-stack">
<div class="grid-stack-item"
data-gs-x="0" data-gs-y="0"
data-gs-width="4" data-gs-height="2">
<div class="grid-stack-item-content"> azazfaz</div>
</div>
<div class="grid-stack-item"
data-gs-x="4" data-gs-y="0"
data-gs-width="4" data-gs-height="4">
<div class="grid-stack-item-content"></div>
</div>
</div>
</body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"> </script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"> </script>
<script type="text/javascript" src="gridstack.js/dist/gridstack.js"> </script>
<script type="text/javascript">
$(function () {
var options = {
cell_height: 80,
vertical_margin: 10
};
$('.grid-stack').gridstack(options);
});
</script>
我收到这个错误:
gridstack.js:391 Uncaught TypeError: undefined is not a function
指向 gridstack 中的这一行:
var is_nested = this.container.closest('.' + opts.item_class).size() > 0;
编辑:
我发现了问题,如果我替换这行
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"> </script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
来自
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
然后就可以了,知道为什么吗?
jQuery 3.0 删除了 jQuery.fn.size 方法。使用此库时,坚持使用 1.11.x 可能更安全。
https://github.com/jquery/jquery/issues/1749
(顺便说一句,我实际上得到 this.container.closest(...).size is not a function as the reported error.
作为解决方法,您可以执行以下操作,在 size()
函数不存在时使 gridstack 工作:
$.fn.size = function(){
return this.length;
};
如果您按照 https://api.jquery.com/size/
的建议对 gridstack.js 进行编辑,则可以使用 jQuery 3.0 及更高版本
将 gridstack.js(版本 0.2.5)中的第 511 行更改为:
var isNested = this.container.closest('.' + opts.itemClass).size() > 0;
到
var isNested = this.container.closest('.' + opts.itemClass).length > 0;
gridstack 工作正常。
真是菜鸟问题,但我不明白我在这里做错了什么?
<head>
<link rel="stylesheet" type="text/css" href="gridstack.js/dist/gridstack.css">
</head>
<body>
<div class="grid-stack">
<div class="grid-stack-item"
data-gs-x="0" data-gs-y="0"
data-gs-width="4" data-gs-height="2">
<div class="grid-stack-item-content"> azazfaz</div>
</div>
<div class="grid-stack-item"
data-gs-x="4" data-gs-y="0"
data-gs-width="4" data-gs-height="4">
<div class="grid-stack-item-content"></div>
</div>
</div>
</body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"> </script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"> </script>
<script type="text/javascript" src="gridstack.js/dist/gridstack.js"> </script>
<script type="text/javascript">
$(function () {
var options = {
cell_height: 80,
vertical_margin: 10
};
$('.grid-stack').gridstack(options);
});
</script>
我收到这个错误:
gridstack.js:391 Uncaught TypeError: undefined is not a function
指向 gridstack 中的这一行:
var is_nested = this.container.closest('.' + opts.item_class).size() > 0;
编辑: 我发现了问题,如果我替换这行
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"> </script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
来自
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
然后就可以了,知道为什么吗?
jQuery 3.0 删除了 jQuery.fn.size 方法。使用此库时,坚持使用 1.11.x 可能更安全。
https://github.com/jquery/jquery/issues/1749
(顺便说一句,我实际上得到 this.container.closest(...).size is not a function as the reported error.
作为解决方法,您可以执行以下操作,在 size()
函数不存在时使 gridstack 工作:
$.fn.size = function(){
return this.length;
};
如果您按照 https://api.jquery.com/size/
的建议对 gridstack.js 进行编辑,则可以使用 jQuery 3.0 及更高版本将 gridstack.js(版本 0.2.5)中的第 511 行更改为:
var isNested = this.container.closest('.' + opts.itemClass).size() > 0;
到
var isNested = this.container.closest('.' + opts.itemClass).length > 0;
gridstack 工作正常。