Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8589

jQueryのchangeイベントがIEでは無効になる

$
0
0

課題

radioボタンを使ったinputの動作制御がIEだけうまく行かないのを修正する

原因

IEはinput[type=radio]のchangeイベントがとれない (っぽい)

ソース

$(function(){// $('input[name="' + hoge + '"]') = radioボタン$('input[name="'+hoge+'"]').change(function(){concole.log('clicked');// IE11で出力されない});});

解決

IEはinput[type=radio]のchangeイベントがとれないとわかったので、clickで代用してやればよい。
今回はあえて、IEは'click'、そのほかは'change'と三項演算子で分岐させることにした。

varua=window.navigator.userAgent.toLowerCase();varisIE=ua.indexOf('msie')>=0;$(function(){// $('input[name="' + hoge + '"]') = radioボタン$('input[name="'+hoge+'"]').change(function(){concole.log('clicked');// 出力されない});});

こう書けばIEだけは'click'になり、他のブラウザは'change'がイベントが指定される。

........でも、分岐させなくてもいいかな~とも少し思ったり^^;

参考

https://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie


Viewing all articles
Browse latest Browse all 8589

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>