Event.cancelable
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
Event å®ä¾çåªè¯»å±æ§ cancelable 表æè¯¥äºä»¶æ¯å¦å¯ä»¥è¢«åæ¶ï¼å³äºä»¶æ¯å¦å¯ä»¥å仿ªåç䏿 ·è¢«é»æ¢ã
妿äºä»¶ä¸è½è¢«åæ¶ï¼åå
¶ cancelable 屿§çå¼ä¸º falseï¼ä¸äºä»¶åçæ¶æ æ³å¨äºä»¶çå¬åè°ä¸åæ¢äºä»¶ã
大é¨åç±ç¨æ·ä¸é¡µé¢äº¤äºäº§ççåçæµè§å¨äºä»¶é½å¯ä»¥è¢«åæ¶ãåæ¶ clickãwheel æ beforeunload äºä»¶å°åå«é»æ¢ç¨æ·ç¹å»æäºå
ç´ ãæ»å¨é¡µé¢æè·³ç¦»é¡µé¢ã
ä½¿ç¨ JavaScript 代ç å建çèªå®ä¹äºä»¶ï¼å¯ä»¥å¨åå§åäºä»¶çæ¶å声æè¯¥äºä»¶æ¯å¦å¯ä»¥è¢«åæ¶ã
è¦åæ¶ä¸ä¸ªäºä»¶çé»è®¤è¡ä¸ºï¼å¯ä»¥è°ç¨è¯¥äºä»¶ç preventDefault() æ¹æ³ã
对äºåæ¶å¤çå¤ç§äºä»¶ççå¬åè°ï¼å¯è½éè¦å
æ£æ¥ cancelable 屿§çå¼ï¼åè°ç¨è¿äºäºä»¶ç preventDefault() æ¹æ³ã
å¼
为ä¸ä¸ªå¸å°å¼ãè¥äºä»¶å¯ä»¥è¢«åæ¶ï¼å
¶å¼ä¸º trueã
示ä¾
ä¾å¦ï¼æµè§å¨ååæè®® wheel äºä»¶åªè½å¨äºä»¶çå¬åè°ç¬¬ä¸æ¬¡æ§è¡æ¶è¢«åæ¶ï¼æ¥ä¸æ¥ç wheel äºä»¶é½ä¸è½è¢«åæ¶ã
function preventScrollWheel(event) {
if (typeof event.cancelable !== "boolean" || event.cancelable) {
// The event can be canceled, so we do so.
event.preventDefault();
} else {
// The event cannot be canceled, so it is not safe
// to call preventDefault() on it.
console.warn(`The following event couldn't be canceled:`);
console.dir(event);
}
}
document.addEventListener("wheel", preventScrollWheel);
è§è
| Specification |
|---|
| DOM > # ref-for-dom-event-cancelableâ¡ > |