今天我寫了代碼,如果一個人點擊一個checbox正在運行代碼。.on更改與點擊
我寫了這樣的代碼:
$(".checkbox").on("click", function() {
//code
});
我也可以寫這樣的代碼:
$(".checkbox").on("change", function() {
//code
});
既能實現我期待實現同樣的目的,但我應該在使用一個另一個?
今天我寫了代碼,如果一個人點擊一個checbox正在運行代碼。.on更改與點擊
我寫了這樣的代碼:
$(".checkbox").on("click", function() {
//code
});
我也可以寫這樣的代碼:
$(".checkbox").on("change", function() {
//code
});
既能實現我期待實現同樣的目的,但我應該在使用一個另一個?
您應該使用change
,因爲複選框可以通過鍵盤(選項卡到元素,按空格)進行更改。此外,它可以從其他一些Javascript代碼(將來)中更改,或者如果該標籤「附加」到複選框,則可以通過點擊標籤進行更改。
每當用戶更改其值時,表單元素都會提升onchange
事件。像其他答案一樣,這可能是由於鼠標點擊或按鍵。
只要用戶點擊它,任何佔用屏幕空間的元素都會引發一個onclick
事件。你提供的回調被賦予了一個參數,它包含了光標的X和Y座標以及其他一些東西。
它恰好如此,當你點擊一個複選框時,它會改變它的值,所以會引發onclick
和onchange
事件。
您應該使用最符合您想要的效果的事件。
用戶不點擊什麼?這是不一樣的...... – elclanrs
布魯夫':)'如果你的意思是'改變===點擊'然後它是不正確的決定什麼事件用戶調用或應該觸發。 –
您可以切換到輸入,然後點擊空格。換句話說,'click'不會捕獲鍵盤事件。 –