2011-07-09 9 views
0

jQueryを使用して実装された多くのjavascriptを含むかなり複雑なWeb UIで作業します。デフォルトのjavascriptを無効にして、マイナーなカスタマイズを行って顧客を満足させることは私の仕事です。要素のjqueryをブロックする方法

時にはUIにあるJavaScriptのビットがあり、上書きする必要があることがありますが、それを追跡するのに時間がかかることがあります。私がそれらを追跡したら、私はまだデフォルトのjqueryイベントをブロックするための良い方法を考え出すことができませんでした。

jqueryを使用して選択を行い、自分自身のアクションを定義する簡単な方法はありますか、選択のjqueryを完全にブロックする方法はありますか?

たとえば、デフォルトのUI はすべてのリンクのonclickイベントを定義するためにと思われます。このため、target = "_ blank"をリンクに追加するという単純な作業を妨げています。私は "と思われます"と言います。なぜなら、これをやっているjavascriptを見つけることができなかったからです。しかし私はマイナーなカスタマイズをすることができるようにする必要があります。

答えて

2

jQueryのstopImmediatePropagation()を確認してください。他のイベントハンドラが呼び出されないようにします。

+0

これは最終的に私が使用した解決策でした。あなたが最初に投稿したからです。しかし、良いオプションがたくさん! – mlissner

0

おそらく、オブジェクトを反復処理し、期待バニラJavaScriptのイベントハンドラのそれぞれを確認することができます:あなたはあなたのためのイベントを停止したい要素を知っている場合、あなたは常にunbind()を使用することができます

$('a').each(function(){ 
    if ($(this).get(0).onclick != '') { 
     $(this).get(0).onclick = ''; 
    } 
}); 
0

。そして、あなたの要素に新しいイベントハンドラをバインドします。バインドを解除するイベントタイプを指定することも、引数なしで呼び出すこともできます。これにより、エレメントにアタッチされているすべてのイベントがアンバインドされます。

関連する問題