radio按鈕點選一下觸發兩次事件
阿新 • • 發佈:2019-01-01
在專案中發現,切換單選按鈕,卻觸發兩次點選事件,程式碼如下:
<ul>
<li class="m-r-sm pull-left">
<label class="i-checks" ng-change="selectTime('1')">
<input type="radio" ng-model="timeChosen" value="1"/><i></i>週一</label>
</li>
<li class="m-r-sm pull-left ">
<label class="i-checks" ng-change="selectTime('2')">
<input type="radio" ng-model="timeChosen" value="2"/><i></i>週二</label>
</li>
</ul>
change事件放在li元素上或者label上,切換radio時,發現觸發了兩次點選事件。就是因為點選label的時候,事件冒泡一次,同時會觸發關聯的input的change事件,導致事再次觸發事件。
change事件放在input元素上即可解決該問題。