svg插入foreignObject無法響應(yīng)事件解決
svg插入foreignObject無法響應(yīng)事件
svg中可以通過foreignObject嵌入html,展示更豐富的樣式。當需要給這中間的html綁定事件的時候,不管是使用委托和直接查詢元素進行綁定的時候都無法生效。右鍵檢查元素也檢查不到具體的元素,直接定位到最外部的svg。
解決pointer-events
經(jīng)排查是html中樣式pointer-events導(dǎo)致
/* Keyword values */ pointer-events: auto; pointer-events: none; pointer-events: visiblePainted; /* SVG only */ pointer-events: visibleFill; /* SVG only */ pointer-events: visibleStroke; /* SVG only */ pointer-events: visible; /* SVG only */ pointer-events: painted; /* SVG only */ pointer-events: fill; /* SVG only */ pointer-events: stroke; /* SVG only */ pointer-events: all; /* SVG only */ /* Global values */ pointer-events: inherit; pointer-events: initial; pointer-events: unset;
值none表示鼠標事件“穿透”該元素并且指定該元素“下面”的任何東西。
改成stroke就可以響應(yīng)事件了
svgText = svgText .replace(/pointer-events:\s*none/g, 'pointer-events: all') .replace(/pointer-events/="none"/, 'pointer-events="stroke"')
以上就是svg插入foreignObject無法響應(yīng)事件解決的詳細內(nèi)容,更多關(guān)于svg插入foreignObject無響應(yīng)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
淺析前端JS腳本放在head與body對加載的影響以及優(yōu)化策略
JS放在不同位置確實有重要區(qū)別,這涉及到頁面加載性能、用戶體驗和代碼執(zhí)行時機等多個方面,下面我們就來看看JS腳本放在head與body是如何影響加載的以及優(yōu)化策略2025-12-12
JS實現(xiàn)鏈表數(shù)據(jù)結(jié)構(gòu)的代碼詳解
很多前端的同學(xué)對數(shù)據(jù)結(jié)構(gòu)和算法這塊沒有太多的概念,很多l(xiāng)eetcode的題目看不懂,有時候可能看了題解也不知道是什么意思,這篇文章咱們來簡單的談一談鏈表,文中給大家介紹了JS實現(xiàn)鏈表數(shù)據(jù)結(jié)構(gòu)的示例代碼,需要的朋友可以參考下2024-01-01
JavaScript對象類型轉(zhuǎn)換的分類及步驟詳解
這篇文章主要為大家介紹了JavaScript對象類型轉(zhuǎn)換的分類及步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
JavaScript筆記之import和require的區(qū)別與對比
在JavaScript中,require和import都用于模塊導(dǎo)入,這篇文章主要介紹了JavaScript筆記之import和require區(qū)別與對比的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2026-01-01

