pointer-events
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æâ©.
pointer-events 屿§æ¯ä¸ä¸ªå±ç¤ºå±æ§ï¼ç¨äºå®ä¹å ç´ æ¯å¦æä½æ¶å¯è½æ¯é¼ æ äºä»¶çç®æ å ç´ ã
Note: ä½ä¸ºä¸ä¸ªå±ç¤ºå±æ§ï¼ pointer-events å¯ä»¥è¢«å½å CSS 屿§ä½¿ç¨ã
示ä¾
<svg viewBox="0 0 20 10" xmlns="http://www.w3.org/2000/svg">
<!--
Circle å
ç´ å°å§ç»æ¦æªé¼ æ äºä»¶ã
ä¸ºäºæ¹åè¾åºé¨ç rect å
ç´ çé¢è²ï¼
ä½ éè¦ç¹å» rect å
ç´ å¨åå¤çé¨å
-->
<rect x="0" y="0" height="10" width="10" fill="black" />
<circle cx="5" cy="5" r="4" fill="white" pointer-events="visiblePoint" />
<!--
ä¸é¢ç circle å
ç´ å°æ°¸è¿ä¸ä¼è·åå°é¼ æ äºä»¶ï¼
å½ä½ ç¹å» circle å
ç´ æè
ç¹å» rect å
ç´ æ¶ï¼
rect å
ç´ é½ä¼æ¹åé¢è²
-->
<rect x="10" y="0" height="10" width="10" fill="black" />
<circle cx="15" cy="5" r="4" fill="white" pointer-events="none" />
</svg>
window.addEventListener("mouseup", (e) => {
// å¨ #000000 å #FFFFFF ä¹é´éæºéåä¸ä¸ªé¢è²
const color = Math.round(Math.random() * 0xffffff);
// å° color åéç弿ç
§ CSS çè¦æ±è¿è¡æ ¼å¼å
const fill = "#" + color.toString(16).padStart(6, "0");
// å° color åé设置çé¢è²åºç¨å°å®é
ç¹å»çå
ç´ ä¸
e.target.style.fill = fill;
});
ä½ä¸ºä¸ä¸ªå±ç¤ºå±æ§ï¼ä»å¯ä»¥è¢«å¾å¤å
ç´ ä½¿ç¨ï¼ä½åå®ç´§å¯ç¸å
³çåªæä¸é¢ç 23 个å
ç´ ï¼<a>, <circle>, <clipPath>, <defs>, <ellipse>, <foreignObject>, <g>, <image>, <line>, <marker>, <mask>, <path>, <pattern>, <polygon>, <polyline>, <rect>, <svg>, <switch>, <symbol>, <text>, <textPath>, <tspan>, <use>
使ç¨è¯´æ
| å¼ | bounding-box | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | none |
|---|---|
| é»è®¤å¼ | visiblePainted |
| æ¯å¦å¯å¨ç» | Yes |
为äºè¯¦ç»äºè§£æ¯ä¸ªå¯è½çå¼ï¼è¯·åè CSS ææ¡£ pointer-events.
è§è
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2 > # PointerEventsProperty > |