Dưới đây là một JSFiddle sẽ cho bạn biết nếu bạn chạy nó trong mỗi trình duyệt:
http://jsfiddle.net/BUkHz/
<label for="myRadio">Radio Button</label><input type="radio" name="myRadio" id="myRadio"/>
<label for="myRadio">Radio Button 2</label><input type="radio" name="myRadio" id="myRadio2"/>
var myRadio = document.getElementById('myRadio');
var myRadio2 = document.getElementById('myRadio2');
myRadio.addEventListener('change', interceptRadioEvent);
myRadio.addEventListener('click', interceptRadioEvent);
myRadio2.addEventListener('change', interceptRadioEvent);
myRadio2.addEventListener('click', interceptRadioEvent);
function interceptRadioEvent(e){
//do anything else you want to here...
radioEventHandler(e);
}
function radioEventHandler(e){
console.log(e.type);
}
Tôi có một linh cảm rằng thứ tự phụ thuộc vào những gì bạn đang làm - ví dụ nếu bạn chỉ có một nút radio khi nhấp vào lần đầu tiên nó sẽ là: thay đổi, nhấp vào sau đó nhấp chuột tiếp theo sẽ là 'nhấp' chỉ khi nó phản hồi nhấp chuột nhưng không thể bỏ đặt nó.
Tôi hy vọng điều đó sẽ hữu ích.
Trên máy Mac:
Chrome: thay đổi sau đó nhấn
Safari: thay đổi sau đó nhấn
iOS (6): thay đổi sau đó nhấn
FYI: Ngay cả sử dụng jQuery sự các sự kiện theo thứ tự khác nhau tùy thuộc vào trình duyệt. –
Không thể thay đổi thứ tự kích hoạt, nhưng bạn có thể kiểm tra 'event.type' và" chuyển hướng "đến người tổ chức sự kiện mong muốn. – Teemu
Tôi không thực sự cần * thay đổi * thứ tự (phiền toái vì sự khác biệt đó) - Tôi chỉ muốn biết điều gì sẽ xảy ra, và tự hỏi liệu có ai khác đã vạch ra nó trước khi chạy thử nghiệm không. –