< button id = "elem" > Click me < /button>
<
script >
class Menu {
handleEvent(event) {
// mousedown -> onm ousedown
let method = 'on' event.type[0].toUpperCase() event.type.slice(1);
this[method](event);
}
onMousedown() {
elem.innerHTML = "Mouse button pressed";
}
onMouseup() {
elem.innerHTML = "...and released.";
}
}
let menu = new Menu();
elem.addEventListener('mousedown', menu);
elem.addEventListener('mouseup', menu); <
/script>
有人可以幫我理解這部分代碼的內容嗎?謝謝你。
handleEvent(event) {
// mousedown -> onm ousedown
let method = 'on' event.type[0].toUpperCase() event.type.slice(1);
this[method](event);
}
uj5u.com熱心網友回復:
event.type[0].toUpperCase() -- this will return first character of your event name in upper case.(e.g. for submit event, it will return `S` )
event.type.slice(1) -- this will return you all characters of event name except first character. (e.g. for submit event , it will return `ubmit`)
然后你在上面用on.
在函式的最后一行之后,您正在呼叫從上面的字串生成的派生函式,例如onSubmit。
在您的情況下,您似乎正在捕獲mousedown事件,然后將該事件轉換為onMousedown()字串并呼叫您的onMousedown()方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/497570.html
標籤:javascript
