我已经尝试将代码的 keyup
部分更改为 button
并且我还尝试了一些代码来获取可拖动元素以将其位置存储在 cookie 中但是无济于事。当我将空标签更改为 ready 时,它每次都会重复前面的行。任何帮助将不胜感激。
jsFiddle for my attempt at a button
HTML
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<textarea></textarea>
<div id="opt"></div>
CSS
d {
position: relative;
left: 0;
top: 0;
width: 60px;
height: 60px;
background: #ccc;
float: left;
font-family: arial;
font-size: 10px;
}
JavaScript
$(document).ready(function() {
$("textarea").keyup(splitLine);
function splitLine() {
$("#opt").empty();
var lines = $("textarea").val().split(/\n/g);
for (var i = 0; i < lines.length; i++) {
var ele = $("<d>");
ele.html(lines[i]);
$("#opt").append($(ele).draggable());
}
}
});
最佳答案
我认为你不应该删除你所有的 <d>
每次都重新开始。我对代码进行了一些更改以重用旧的 <d>
这样它的位置就被保留了
$(document).ready(function () {
$("textarea").keyup(splitLine);
function splitLine() {
//$("#opt").empty();
var lines = $("textarea").val().split(/\n/g);
for (var i = 0; i < lines.length; i++) {
var ele;
if ($("d:eq(" + i + ")").get(0)) {
ele = $("d:eq(" + i + ")");
ele.html(lines[i]);
} else {
ele = $("<d>");
ele.html(lines[i]);
$("#opt").append($(ele).draggable());
}
}
}
});
关于javascript - 当我用 jquery 添加新的 div 时,试图让这些 div 不重置位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14277129/