1. 程式人生 > >radio按鈕點選一下觸發兩次事件

radio按鈕點選一下觸發兩次事件

在專案中發現,切換單選按鈕,卻觸發兩次點選事件,程式碼如下:

<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元素上即可解決該問題。