0

だから私は入力フィールドを持っています.マウスでそれを操作すると、基本的には機能しません. それの訳は:

  • 入力は、編集モードでそのアイテムを展開することにより、ロード後に作成されます
  • アイテムを展開するには、入力に置き換えられるタイトルの親である li でクリック イベントを使用します。
  • アプリの仕組み上、クリックではなくライブを使用する必要があり、これにより stopPropagation() を使用できなくなります。

だから私たちは使用しています:

$('li').live("click",function(e) {
    if ($(e.target).is('input') ) { return; }

    // do stuff
});

このため、明らかにマウスが入力をクリックしようとすると、カーソルを移動したり、その内容を強調表示したりしますが、無視されます。

ターゲット行を削除すると、入力をクリックすると、li が閉じます。

だから...私の質問: liを閉じずに、クリックの代わりにライブを使用できるように、入力をクリック可能にする方法はありますか?

4

2 に答える 2

0

あなたはまだ使用することができますe.stopImmediatePropagation()

http://jsfiddle.net/NJ9cb/

于 2012-05-30T12:16:20.403 に答える
0

こんにちは、正しく理解できれば、イベントの伝播を防ぎたいのですが、stopPropagation() メソッドを使用できません。live メソッドのドキュメントを確認してください。伝播を停止したい場合は、メソッドが false を返す必要があります。

live メソッドの API ドキュメントを参照してください: live()

于 2012-05-30T12:06:24.293 に答える