svg插入foreignObject無法響應事件解決
svg插入foreignObject無法響應事件
svg中可以通過foreignObject嵌入html,展示更豐富的樣式。當需要給這中間的html綁定事件的時候,不管是使用委托和直接查詢元素進行綁定的時候都無法生效。右鍵檢查元素也檢查不到具體的元素,直接定位到最外部的svg。
解決pointer-events
經(jīng)排查是html中樣式pointer-events導致
/* 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
就可以響應事件了
svgText = svgText .replace(/pointer-events:\s*none/g, 'pointer-events: all') .replace(/pointer-events/="none"/, 'pointer-events="stroke"')
以上就是svg插入foreignObject無法響應事件解決的詳細內(nèi)容,更多關于svg插入foreignObject無響應的資料請關注腳本之家其它相關文章!
相關文章
javascript獲取ckeditor編輯器的值(實現(xiàn)代碼)
這篇文章主要介紹了javascript獲取ckeditor編輯器的值,用于表單驗證。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11通過Javascript創(chuàng)建一個選擇文件的對話框代碼
通過Javascript創(chuàng)建一個選擇文件的對話框代碼,需要的朋友可以參考下2012-06-06使用CoffeeScrip優(yōu)美方式編寫javascript代碼
CoffeeScript就是JavaScript,他進行的是一對一的編譯,或者說是翻譯,而且編譯成的JavaScript代碼可讀性很強。本文給大家介紹使用CoffeeScript優(yōu)美方式編寫javascript代碼,感興趣的朋友一起看看吧2015-10-10nestjs返回給前端數(shù)據(jù)格式的封裝實現(xiàn)
這篇文章主要介紹了nestjs返回給前端數(shù)據(jù)格式的封裝實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02由JavaScript中call()方法引發(fā)的對面向?qū)ο罄^承機制call的思考
看到這里的call()方法,以前也看過手冊,說是對象冒充的,用于繼承的。在jQuery源碼里有點亂,所以就把這部分提取出來,放在一個單獨文件中,來看看具體執(zhí)行。2011-09-09