Safari 9-标签点击不会触发更改事件

时间:2018-11-26 12:00:56

标签: javascript mobile-safari

在Safari 9上,通过其标签更改单选按钮不会触发警报。 您知道原因或解决方法吗?

HTML

<input id="star-1" type="radio" name="question[1]" value="1" required>
<label for="star-1" title="stella 1">
    <i class="active fa fa-star" aria-hidden="true"></i>
</label>
<input id="star-2" type="radio" name="question[1]" value="2" required>
<label for="star-2" title="stella 2">
    <i class="active fa fa-star" aria-hidden="true"></i>
</label>

JS

var inputRadio = document.querySelectorAll('input[type="radio"]');
for (var i = 0; i < inputRadio.length; i++) {
    inputRadio[i].addEventListener('change', function() {
        alert('ciao');
    });
}

1 个答案:

答案 0 :(得分:0)

您的代码可在Safari 9中使用:

var inputRadio = document.querySelectorAll('input[type="radio"]');
for (var i = 0; i < inputRadio.length; i++) {
  inputRadio[i].addEventListener('change', function() {
    alert('ciao');
  });
}

http://jsfiddle.net/dbmk9xL8/1/-这是证明事实的小提琴。

也许是一些CSS搞砸了?