Jquery-ui 中的可拖动方法不适用于创建的元素
Draggable Method in Jquery-ui not working with created elements
我有一张图片,当我点击它时,它应该创建一个 div 并将其放置在容器(父 div )中并使其可拖动。
我已经包含 jquery-ui 和 jquery 的问题;但是可拖动的方法仍然不起作用,它成功地在容器中添加了 div 但它不可拖动。
这里是 jquery 和平代码:
var $homy;
var texty;
function perform(){
$homy=$("<div class='cabine'></div>");
texty=$("<textarea class='sub'></textarea>");
$homy.append(texty);
$homy.draggable();
$homy.appendTo("#container");
}
这是 html 部分:
<div>
<img class="accept" src="done.png" onclick="perform()" width="40" height="40">
</div>
有什么问题吗??
可拖动的 div 在那里,但无法拖动文本区域,因为您在其中键入内容/可以重新调整其大小。只需使其小于您的内部 div 并给它一些带边框的定义。
#container{
border-style: solid;
width: 400px;
height: 200px;
}
.cabine{
border-style: solid;
width: 200px;
height: 100px;
position:relative;
margin-left:50px;
margin-top:20px;
}
.sub{
width: 100px;
height: 50px;
text-align: center;
margin-left:50px;
margin-top:20px;
resize: none;
}
要保持内部 div 在外部,请将 .draggable()
更改为
$homy.draggable({ containment: "parent" });
如前所述,我在您的 HTML 中没有看到 #container
。我建议如下:
$(function() {
var $homy, texty;
function perform(e) {
$homy = $("<div>", {
class: "cabine",
title: "Enter Caption"
});
texty = $("<textarea>", {
class: "sub"
});
$(e.target).parent().append($homy);
$homy.html(texty).dialog();
}
$("img.accept").click(perform);
});
工作示例:https://jsfiddle.net/Twisty/zsdnsskg/
这会创建 div
和 textarea
,将它们附加到 img
之后,然后开始 .dialog()
。
希望对您有所帮助。
我有一张图片,当我点击它时,它应该创建一个 div 并将其放置在容器(父 div )中并使其可拖动。
我已经包含 jquery-ui 和 jquery 的问题;但是可拖动的方法仍然不起作用,它成功地在容器中添加了 div 但它不可拖动。
这里是 jquery 和平代码:
var $homy;
var texty;
function perform(){
$homy=$("<div class='cabine'></div>");
texty=$("<textarea class='sub'></textarea>");
$homy.append(texty);
$homy.draggable();
$homy.appendTo("#container");
}
这是 html 部分:
<div>
<img class="accept" src="done.png" onclick="perform()" width="40" height="40">
</div>
有什么问题吗??
可拖动的 div 在那里,但无法拖动文本区域,因为您在其中键入内容/可以重新调整其大小。只需使其小于您的内部 div 并给它一些带边框的定义。
#container{
border-style: solid;
width: 400px;
height: 200px;
}
.cabine{
border-style: solid;
width: 200px;
height: 100px;
position:relative;
margin-left:50px;
margin-top:20px;
}
.sub{
width: 100px;
height: 50px;
text-align: center;
margin-left:50px;
margin-top:20px;
resize: none;
}
要保持内部 div 在外部,请将 .draggable()
更改为
$homy.draggable({ containment: "parent" });
如前所述,我在您的 HTML 中没有看到 #container
。我建议如下:
$(function() {
var $homy, texty;
function perform(e) {
$homy = $("<div>", {
class: "cabine",
title: "Enter Caption"
});
texty = $("<textarea>", {
class: "sub"
});
$(e.target).parent().append($homy);
$homy.html(texty).dialog();
}
$("img.accept").click(perform);
});
工作示例:https://jsfiddle.net/Twisty/zsdnsskg/
这会创建 div
和 textarea
,将它们附加到 img
之后,然后开始 .dialog()
。
希望对您有所帮助。