2016-10-25 17 views
1

商品カスタマイズフォームを作成していて、ラジオボタンが不透明度:0で非表示になっています。Jquery - 親divのCSSプロパティを変更する子divのイベントリスナー

オプションが選択されたことをユーザーにフィードバックするために、画像の境界線を黒にしたいとします。ラジオボタンにイベントリスナーを追加しました。フォーカスすると、親divのCSSプロパティがユーザーのフィードバックとして変更されます。 クロムとjsfiddleでは完全に機能しますが、モバイルブラウザやSafariブラウザでは機能しません。

なぜこれが起こっているのか、回避策は何ですか。

はここjsfiddle https://jsfiddle.net/gLwjhqtd/

$('.radioButtons') 
    .focus(function() { 
     $(this).parent().css('border','2px solid black'); 
    }) 
    .blur(function() { 
     $(this).parent().css('border','none'); 
    }) 

感謝です!

+0

これは 'focus'と' blur'イベントと関係があります。私はあなたがモバイルブラウザで(ラジオボタンのコンテキストで)期待しているように彼らが働いているかどうかはわかりません。 'change'にリスナーを設定し、ラジオが設定されている場合はボーダーを表示し、そうでない場合はそれを削除することができます。 –

答えて

-1

モバイルでは発生しないため、ぼかしやフォーカスは使用しないでください。 あなたはこれを試すことができます

$('.radioButtons').change(function(event){ 
    $('.radioButtons').parent().css('border','0'); 
    if($(event.target).is(':checked')) 
    { 
    $(event.target).parent().css('border','2px solid black'); 
    } 

}) 
関連する問題