3


1

私はアコーディオンを設定しました。

$( '。shortheadline').cordion({active:false、header: '.headline'、autoHeight:false、animated: 'slowslide'、changestart:function(イベント、ui){$( '。brief').ss function(event、ui){$( '。brief:visible')。css( 'min-height'、 '80px'); $( '。headline ').blur();}});

クリックは、.headline divにのみ登録し、内側のリンクには登録しないようにします。 リンクをクリックすると記事ページに移動します。

11:34 Jeff GametがMacJuryでiPhoneのヒントとコツを共有Mac ObserverのJeff GametがMacJuryのホストChuck Joinerに参加して、AppleのiPhone OS 3.0、iPhone 3GSについて話し、iPhoneのヒントとコツも共有した。

イベントのバブリングを防ぐ方法はありますか。アコーディオンはdivをクリックするとトリガーされるだけですか? それとも、リンクのデフォルトの動作を継続させる方法はありますか?

私はもう試した:

$( "a")。クリック(function(){window.location = this.href;});

これによってリンクは機能しますが、ユーザーが新しいタブ/ウィンドウでリンクを開くことはできません。

ありがとうございます。

2 Answer


12


やってみる

$( "a")。(function(event){event.stopPropagation();});をクリックします。

クリック機能には「イベント」オブジェクトが渡されます。 イベントオブジェクトの 'stopPropagation’メソッドを呼び出すことで、バブリングを防ぐことができます。


0


私は私のために働いたこの代替構文に出くわしました。

$( "a")。bind( "click"、関数(e){e.stopPropagation();});