1

以下のマークアップがあります。ここに画像の説明を入力

そして、行の色を切り替えるために追加した jQuery があります。 ここに画像の説明を入力

行の任意の場所をクリックすると、次のようにビューが切り替わります。

ここに画像の説明を入力

問題は、トグル機能を追加してからリンクが機能しないことです。トグル ハンドラがイベントをキャプチャしているようです。リンクが最初にイベントを取得してから行を取得することを期待しているので、リンクは正常に機能するはずです。

誰かが問題を見ていますか?

ありがとう

4

1 に答える 1

1

ここでの主な問題は、toggle() が使用目的ではないことです。

チェック: http://api.jquery.com/toggle/

現在の状態に応じて、一致した要素の表示と非表示を切り替えます。

使用したいのは、例に基づいたtoggleClass()です。

また、あなたの質問からは、JavaScriptの目的が明確ではありません。いつ (どのイベントで) アイテムの色を変更したいですか? クリックすると?

あなたは明らかに toggle() 関数を誤用していますが、いつ、何をしたいのかわかりません。

編集:非推奨のトグルイベントを目指していたようです。

EDIT2:私はあなたが望むことをすると思うjsfiddleを作りました。

http://jsfiddle.net/kytJ3/1/

html:

<div id="test" class="test-class">DURP<br />HURP<br />
    <a href="http://google.com" target="_blank">A LINK</a>
</div>

js:

$('#test').click(function () {
    $(this).toggleClass('test-class');
});

CSS:

div {
    color: red;
}
.test-class {
    color: blue;
}

これにより、よりクリーンな (スタイルのない) JavaScript も得られます。そして、リンクは正常に機能します。

于 2013-03-20T13:17:23.683 に答える