1

私は以前は尋ねられなかったように見える非常に特定の問題を抱えています-少なくとも私は何も見つかりませんでした。いずれにせよ、状況は次のとおりです。

ドラッグ可能なdivがn個あります。ダブルクリックで編集できるリストを含むこれらのdivは、並べ替えが可能で、何度も何度も実行できます。これらのコンテナ内で少し実行できることがわかります。

今私の問題:まず、ドラッグ可能なJQueryの一部として、z-indexをすべての要素の最大値に自動設定できますが、ドラッグされた場合のみです。イベント領域内でクリックするだけで、z-indexがautoに設定されます。これは、「クリックされた」要素が一番上に表示されることを意味するわけではありません。

2番目のより大きな問題は、divまたはその子のいずれかにフォーカスを設定するすべてのハンドラーを変更せずに、divのハンドラーを取得して最上位に配置することは不可能であるように思われることです。

ハンドルのようなものを完全なdivに追加する方法についての提案はありますか?それをクリックすると常に呼び出されますか?

どうもありがとう、

ヌリカン

4

2 に答える 2

2

問題を理解している場合は、クリックイベントとフォーカスイベントを使用してz-indexを更新できます。div内の子要素がフォーカスを取得するたびに、フォーカスが発生します。

$("div").draggable(
    {start:updateContent}
);
$("div").click(updateContent);
$("div").focus(updateContent);

function updateContent()
{
    $("div").css("z-index", 1);
   $(this).css("z-index",2);
}

サンプルフィドル: http: //jsfiddle.net/Cwp2e/14/

于 2012-09-06T13:55:50.190 に答える
1

私の頭に浮かぶことの1つは、ドラッグ可能なコードを研究したことですか?少なくとも、クリックイベントとマウスイベントに関連する部分は、おそらくチェックする価値があります。

それらのどこかにpreventDefault()関数がある場合、親DIVの各サブ要素に独自のイベントをバインドし、その方法で親を制御する以外に、おそらく他に何もできません。

于 2012-09-06T13:50:21.507 に答える