Vue事件對象是一個包含所有信息的重要屬性,用于實現事件監聽和追蹤。下面我們來詳細探討Vue事件對象屬性。
//事件監聽方法 methods: { handleClick(event) { console.log(event); } }
事件對象提供了很多有用的信息,例如事件的類型、目標元素、相關元素以及觸發事件的位置。在Vue中,可以通過$event參數訪問事件對象。
methods: { handleClick(event) { console.log(event.type); // "click" console.log(event.target); // button元素 console.log(event.clientX, event.clientY); // 鼠標點擊坐標 } }
其中,$event參數可以用來實現事件修飾符,比如:stop、prevent、capture等。
methods: { handleClick(event) { event.stopPropagation(); // 阻止事件冒泡 console.log("Clicked!"); } }
此外,事件對象還提供了諸多方法,可以進行事件控制與調試。比如:
- stopPropagation(): 阻止事件冒泡
- preventDefault(): 阻止事件默認行為
- stopImmediatePropagation(): 立即停止事件冒泡
- getModifierState(key): 返回特定修飾鍵的狀態,比如shift、ctrl、alt、meta
methods: { handleClick(event) { event.preventDefault(); // 阻止默認行為 console.log(event.getModifierState("Shift")); // Shift鍵是否按下 } }
值得注意的是,當在natively支持的事件上使用v-on監聽時,方法中沒有$event參數。此時,需要在方法中顯式傳遞event對象。