0

スクリプトを作成しましたが、期待どおりに動作せず、助けが必要です。ここで見ることができます。

URL フィールドのみに次の動作を実装する必要があります。

  1. リンクをクリックすると、対象のページが開きます。これは機能します。
  2. リンクの親をクリックすると、divリンクは編集可能な になりますinput。これも発生しますが、私の入力フィールドは ( 、、 ) などidの配列から取得されるため、フォームに複数の URL がある場合、最初の URL のみが機能します。url0url1url2
  3. 入力編集後に外側をクリックすると、再度リンクになります。
  4. また、リンクをダブルクリックすると編集可能になります。

すべての回答に感謝します。これで私を助けてくれることを願っています。

4

1 に答える 1

0

異なるページ要素に同じものを使用することはできません。これは無効なマークアップであり、明らかにおわかりのように、無効な動作につながります。idまず最初に、マークアップでそれを修正することをお勧めします。

それを変更できない場合 (ただし、もう一度言いますが、変更する必要があります)、さらに複雑なセレクターを使用できます。たとえば、次のようになります。

$('.cartRight > div > div > a').click(function(){
    $(this).parent().siblings("input").findval($(this).text()).show();
    $(this).hide();
})

かなりばかげていますよね?ただし、おそらくこの混乱を最後の手段として使用できます。

ダブルクリックに関しては、そのような動作を実装することはお勧めしません。これは Web コンテキストでは一般的ではなく、ユーザーを混乱させる可能性があります。また、技術的な観点からは、1 回のクリックで新しいページの読み込みが開始されます。リンクがダブルクリックされた場合にそれを停止するために使用できますが、次window.stop()の理由から、ダブルクリック イベントを手動で実装する必要があります。

dblclick イベントはめったに使用されません。使用する場合でも、同じ HTML 要素に onclick と ondblclick の両方のイベント ハンドラーを登録しないでください。両方を登録すると、ユーザーが実際に何をしたかを知ることはほぼ不可能です。(http://www.quirksmode.org/js/events_mouse.html#dblclick)

現在の UI スキームを使用する代わりに、右側に小さな「編集」ボタン (おそらく「鉛筆」アイコン?) を配置する必要があると思います。私にはかなり混乱しているようです-ユーザーは言うまでもありません...

于 2012-06-21T18:29:05.973 に答える