課題
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