0

Chrome / SafariでいくつかのjQueryをテストしていますが、このエラーを解決できないようです。基本的に、私は次のことを行っています。

jQuery(':radio', '.some_class')
            .change(function() {
                jQuery('.special_class').show();
            })
            .blur(function() {
                jQuery('.special_class').hide();
      });

そして、私はまったく愛を得ませんか?試しても

jQuery('.special_class').css('display','none');

そして、それはどちらの助けにもなりません-「。some_class」はうまく表示されますが、消えたくないですか?

編集:HTMLコードは次のとおりです。

<div class="some_class">
    <label for="button"><input type="radio" name="style" id="button" value="button" />Button</label>
</div>

    <div class="special_class">Hello There!</div>

編集2:さらに奇妙なのは、「タブ」を付けると機能するということです。しかし、「クリック」を使用することはありませんか?

何か案は?

4

3 に答える 3

1

ぼかしイベントは「選択解除」を意味しません。「キーボードフォーカスが失われた」ことを意味します。ラジオ ボタンが選択されているか選択解除されているかを検出するには、変更イベント ハンドラーに追加のロジックを追加する必要があります。

于 2009-08-02T17:35:00.743 に答える
0

私のサイトの 1 つでこの問題を回避するために、少し追加の CSS を使用しています。要素を非表示にするときは、この css を試してください (これらの属性を持つ余分なクラスを追加/削除するか、jquery .css を使用して)

display:none; opacity:0; pointer-events:none;

そして見せる

display:block; opacity:1; pointer-events:auto;

ときどき、display:none/block だけでは Safari では不十分であることに気付くこともありますが、これはうまく回避できます。

于 2016-02-26T03:28:46.347 に答える
0

「ぼかし」イベントに問題があると思います。ここを見て

Safari と Chrome は、すべての状況で、リンクやフォーム フィールドでこれらのイベントをサポートしているわけではありません。

于 2009-08-02T18:26:34.177 に答える