課題
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'と三項演算子で分岐させることにした。
var ua = window.navigator.userAgent.toLowerCase();
var isIE = ua.indexOf('msie') >= 0;
$(function(){
// $('input[name="' + hoge + '"]') = radioボタン
$('input[name="' + hoge + '"]').change(function(){
concole.log('clicked'); // 出力されない
});
});
こう書けばIEだけは**'click'になり、他のブラウザは'change'**がイベントが指定される。
........でも、分岐させなくてもいいかな~とも少し思ったり^^;
参考