2011-12-09 2 views
1

内部入力私は、これはかなり具体的な質問ですけど、私はそれのために行くよを編集します。フォームは正常に動作します。彼の例を見てください: http://orangoo.com/AJS/examples/sortable_list.htmlは私がソート可能なリストを作成するOrangooのツールを使用しています...</p> <p>をドラッグ&ドロップ可能UL/LI

しかし、私は入力や他のフォーム要素を追加したい場合、私は入力をクリックすることはできません。マウスは1秒間そこにいて、次にondragイベントを処理するものが引き継ぐため消えます。

入力要素を並べ替える必要があるため、LIからドラッグイベントを削除したくありません。代わりに、入力をクリックすると、フォーカスを維持するか、ondragの処理を無視する方法が必要です。私はどのようにondragイベントをオーバーライドするかを理解することはできません。誰かが助けることができれば、私はそれを高く評価します!

答えて

0

ありがとう!私は諦めてイベントハンドラをオフにしました。

<input id="inputId" name="inputName" value="some value" onmousedown="AJS.dnd.removeDragAble(this.parentNode);" onblur="AJS.AEV(this.parentNode, 'mousedown', this.parentNode._start_fn);" /> 
2

ユーザーが入力をクリックしたときに、ドラッグアンドドロップでイベントが発生しないようにする必要があります。単にmousedownイベントを処理し、event.stopPropagation()を使用してください。

例:答えるため

document.getElementById("input1").onmousedown = (function(e) { 
    e.stopPropagation(); 
}); 
+0

素晴らしい!今私はぼかし処理を修正する必要があります。 – naugtur

+0

修正を見つけたらお知らせください!私は上記の作業をしていますが、開始時のドラッグ位置がオフになることがあります。最初のfnコマンドのbcと仮定します。まだ対処するのに十分な重要性はありません。 – phpmeh

関連する問題