แค่สงสัยว่ามีใครรู้บ้างไหมว่าเหตุการณ์ใดที่<input type="number" />องค์ประกอบHTML5 เริ่มทำงานเมื่อคลิกลูกศรขึ้น / ลง:

ฉันใช้onblurสำหรับเมื่อโฟกัสออกจากช่องป้อนข้อมูลแล้ว
แค่สงสัยว่ามีใครรู้บ้างไหมว่าเหตุการณ์ใดที่<input type="number" />องค์ประกอบHTML5 เริ่มทำงานเมื่อคลิกลูกศรขึ้น / ลง:

ฉันใช้onblurสำหรับเมื่อโฟกัสออกจากช่องป้อนข้อมูลแล้ว
คำตอบ:
change จะเป็นเหตุการณ์ที่เริ่มทำงานเมื่อค่าของฟิลด์เปลี่ยนไป
ฉันคิดว่าเหตุการณ์ HTML5 inputก็จะเริ่มขึ้นเช่นกัน
oninputจะเกิดขึ้นเมื่อ 'ขึ้น' และ 'ลง' ลูกศรมีการคลิก
changeไม่เริ่มทำงานเมื่อพิมพ์ค่าเฉพาะเมื่อมีการคลิกปุ่มเท่านั้น (อย่างน้อยใน Firefox)
inputเป็นเหมือนการหลอมรวมระหว่างkeyup change
ฉันพบว่าสำหรับ jQuery รหัสต่อไปนี้ครอบคลุมการป้อนข้อมูลแป้นพิมพ์การเปลี่ยนแปลงเมาส์วีลและการคลิกปุ่มใน Chrome และยังจัดการการป้อนข้อมูลแป้นพิมพ์ใน Firefox
$("input[type=number]").bind('keyup input', function(){
// handle event
});
.bind()ตอนนี้เลิกใช้แล้ว.on()
ฉันพบว่าonkeyupและonchangeครอบคลุมทุกอย่างใน Chrome 19 สิ่งนี้จัดการกับการป้อนค่าโดยตรงกดแป้นลูกศรขึ้นลงคลิกปุ่มและเลื่อนเมาส์วีล
onchangeเพียงอย่างเดียวก็เพียงพอแล้วใน Chrome แต่เบราว์เซอร์อื่น ๆ ที่แสดงผลเฉพาะฟิลด์เป็นกล่องข้อความเท่านั้นที่ต้องการการonkeyupเชื่อมโยงซึ่งทำงานได้อย่างสมบูรณ์เพื่ออ่านค่าใหม่
การผูกmousewheelเหตุการณ์แยกกันประสบความสำเร็จน้อย เหตุการณ์เริ่มทำงานเร็วเกินไป - ก่อนที่จะอัปเดตค่าฟิลด์ - ดังนั้นจึงให้ค่าก่อนหน้าของฟิลด์เสมอ
onchangeเหตุการณ์ fires บนเบลอ แต่oninputเหตุการณ์ fires ขณะที่คุณพิมพ์ บางทีคุณอาจต้องการตั้งเวลาให้กับoninputเหตุการณ์และเริ่มการทำงานของคุณonchangeเมื่อผู้ใช้หยุดพิมพ์สักครู่?
มีข้อบกพร่องปัจจุบันใน Edge ที่ป้องกันการเปลี่ยนแปลงหรือป้อนข้อมูลจากการเริ่มทำงานเมื่อใช้ปุ่มลูกศรในการป้อนตัวเลข