リストを並べ替えることができるように、jquery-uiを使用してWebサイトを実装しています。
jQuery(".folder ul").sortable( {
opacity: 0.6,
cursor: 'move',
update: sortUpdate,
distance: 15,
items: "> li:has(a)",
} );
list要素は、要素が含まれている場合にのみソート可能である必要があります。ここまでは順調ですね。
並べ替え可能なアイテムにはリンクが含まれているため、並べ替え可能なアイテムをドロップすると、リンクが呼び出されます(onclickイベントとして処理されるためだと思いますか?)。ユーザーが現在ドラッグしているかどうかを確認しながら、クリックイベントを自分で処理する新しいonclickハンドラーを作成しようとしました。ただし、これは機能しません。
jQuery('.folder-used').click(function(event) {
event.stopPropagation();
event.preventDefault();
});
自分のクリックハンドラーにブレークポイントを設定すると、クリックするとコードに到達したことが示されます。しかし、ページはとにかくリダイレクトします。私の推測では、それは私が使用しなければならないトマホークコマンドリンクのせいです。Tomahawkは、送信アクションを処理するための独自のjavascript関数を生成します。
<t:commandLink action="#{dataHandler.filterChanged}">
<f:param name="id" value="#{val}" />
<img:generateTextImage height="182" width="50" value="#{val}" verticalAligned="true" xpos="54" ypos="29" />
</t:commandLink>
この問題を解決するにはどうすればよいですか?tomahawkのonclickイベントをどのように処理できるか誰かが知っていますか?
事前にThx!Zerd
PS私はここ(ソート可能な開始イベントと停止イベント)またはここ(リンクのクリックイベントを無効にする)で説明されているようなさまざまなアプローチを試しました