2010-12-15 19 views
2

私は、コンテナ内に入力テキストフィールドを持っています。 このコンテナはドラッグ可能ですが、今はテキストフィールドにテキストを入力できなくなりました。 おそらく入力するためにテキストフィールドの中をクリックしなければならないので、 と今すぐマウスをドラッグすることを意味します!ドラッグアンドドロップで入力テキストフィールドが無効になります。助けて?

または多分何か完全に異なる

誰も私がこれを解決する方法を知っていますか?事前

で おかげで、あなたはここにコードを確認することができますが、そのほとんど.. http://www.jsfiddle.net/AVG5a/

+2

コードを表示する必要があります。これは、これに直面したことのない人でも、あなたを助けることができます。それ以外の場合は、多くのヘルパーを緩める –

+1

私は面白い質問のように聞こえるが、コードなしで答えるのは難しいと思います! – Trufa

+0

あなたのコメントのおかげで、私はそれがあまりにも多すぎると思ったが、皆さんを怖がらせるだろうが、あなたのフィードバックのために大丈夫です。 – Opoe

答えて

1

使用jQuery[docs]jQuery UI[docs] jQueryへの変換がほぼ終了しました。終了するときにjsFiddleリンクを投稿します。ここで

あなたが行く:あなたはjQueryとjQueryのUIを学ぶhttp://jsfiddle.net/pswRh/

した後、その要素をドラッグ可能にするためには非常に簡単だし、 - 必要に応じて - 指定された子要素でドラッグ無効にします。

HTML

<div id='myDiv'> 
    <img src='http://dummyimage.com/100x100.png' id='pic' /> 
    <input id='textInput' /> 
</div> 

CSS(オプション)

#myDiv { 
    width: 150px; 
    height: 200px; 
    border: 1px solid; 
    background: blue; 
    color: white; 
} 

はJavaScript

$('#myDiv').draggable({ 
    cancel: '#textInput' 
}); 

出来上がり!ドラッグ可能なdivを作成しましたが、要素をドラッグしないため入力フィールドに入力することはできます。

また、ハンドルを指定することもできます。そうすることで、divを指定した子でドラッグすることしかできません。

HTML、CSS

同じ

のJavaScript

$('#myDiv').draggable({ 
    handle: '#pic' 
}); 

コンマ(すなわち'#el1, #el2, #el3')によって分離された複数の要素を指定します。

+0

ありがとう、ありがとうございました、すぐにjqueryを学び始めました!ありがとうNyuszika7H !! – Opoe

+0

あなたも大歓迎です。このようなものが必要な場合は、[:eq()](http://api.jquery.com/eq-selector ":eq()Selector - jQuery API"を使用してください。 )または[.eq()](http://api.jquery.com/eq ".eq() - jQuery API")を参照してください。 – nyuszika7h

2

appendFunctionにこれを追加します。

document.getElementById("inputId0").addEventListener("mousedown", function(e) { 
    e.stopPropagation(); 
}, false); 

これはidを持つ要素のmousedownイベントをキャンセルしますinputId0

+0

私はそれのようにする必要がありますIDのカウンターを持って、 document.getElementById( "inputId" + counter).addEventListener( "mousedown"、function(e){e.stopPropagation();}; false; – Opoe

+1

はい、機能しますが、チェックボックスとボタンはなぜ機能しますか? –

+0

ボタンの上に表示されているコードはもう奇妙ではありません – Opoe

関連する問題