ในการเขียนเว็บ เราสามารถสั่ง jQuery ให้ทำให้เกิดอีเวนท์แทน user ได้โดยการสั่ง trigger
เช่นต้องการให้ปุ่มนี้โดนกดแต่ user ไม่ได้กดเอง เราก็สั่ง
$('button').trigger('click');ได้เลย
แต่ว่าบางครั้งเราก็ต้องการรู้ว่าจริงๆ แล้วอีเวนท์การคลิก (รวมถึงอีเวนท์อื่นๆ ด้วย) มาจากการที่เราสั่ง trigger เองหรือมาจากการคลิกจริงๆ
นี่มันtigger ไม่ใช่trigger |
originalEvent
javascript มี property ตัวหนึ่งเวลาเกิดอีเวนท์ใดๆ ก็ตามชื่อว่า originalEvent ซึ่งเราสามารถใช้เจ้านี่ในการเช็กได้ว่าตกลงอีเวนท์นี้มาจากการคลิกจริงหรือไม่ตามโค้ดชุดข้างล่างนี่เลย
$('button').click(function(e){
if( e.hasOwnProperty('originalEvent') ){
// เป็นการคลิกจริงๆ จากuser
}
else{
// เป็นการคลิกจากการสั่ง trigger
}
});
ไม่มีความคิดเห็น:
แสดงความคิดเห็น