jQueryの.live()
機能を使用して)click
イベントをリンクにバインドし、純粋なJSとHTML(<a href="".... onclick="some action">
など)でonclick
イベントハンドラーを手動で追加します。私はlive
メソッドへのイベントのバブリングを防止したいが、私はどのようにわからない。jQueryを使用しないstopPropagation
多分e.stopPropagation()
がこの状況で役立ちますが、onclick
で追加されたイベントハンドラは純粋なJSで書かれており、stopPropagation()
をjQuery要素ラッパーの外から呼び出すことはできません。この場合のreturn false
は機能しません。私はreturn false
を$.Event('click').stopPropagation()
と置き換えようとしましたが、これはうまくいかなかったと思います。
jQueryラッパーを使わずにlive()
メソッドへの書き込みを防止する方法は?
'return false'はこのトリックを行うべきです。 ' onclick="some action; return false;">'を実行するとうまくいくはずです。 Btw。 'event.stopPropagation()'はjQueryメソッドではありません。問題は、IEがこのメソッドを提供しない別のイベントモデールを使用することです。したがって、 'return'ing' false'がこの場合の最良の解決策です。問題は、なぜインラインイベントハンドラを使用するのですか? –
戻りfalse .liveによってバインドされたイベントをキャンセルしないでください – abonec
jQuery関数内でfalseが返される場合は、その外側と同じではありません。http://stackoverflow.com/questions/1357118/javascript-event-preventdefault-vs-return-false – Mrchief