2017-04-18 12 views
1

私がクリックすると、divを作成してコンテナ(親div)内に配置してDraggableにする必要があります。Jquery-uiでDraggableメソッドが作成された要素と連携していません

私が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> 

は間違って何かがあります?

+0

HTMLに '#container'が表示されません。この要素はどこですか?ターゲットが存在しないため、作成したアイテムを追加できないと考えられます。 – Twisty

答えて

0

ドラッグ可能なdivがありましたが、テキストエリアにドラッグすることはできません。サイズを変更することができます。あなたの内側のdivよりも小さくして、境界線で定義してください。

JSFiddle Demo

#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; 
} 

述べたように.draggable()

$homy.draggable({ containment: "parent" }); 
+0

大変ありがとうございます! –

+0

問題ありません。喜んで助けてください。 :-) – Ethilium

0

を変更、外側の内側に内部のdivを保つために、私はあなたの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/

これはdivtextareaを作成し、img後にそれらを追加し、.dialog()をキックオフ。

希望に役立ちます。

+0

さらに詳しい情報をお知りになりたい場合は、次のようにしてください:https://jsfiddle.net/Twisty/zsdnsskg/3/ – Twisty

+0

努力してくれてありがとう! –

関連する問題