2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個贊
iframe中文檔對象只有在加載完成后才能夠被獲取,否則會返回null,你可以嘗試以下方法:
/*注意:采用iframe獲取svgDom時,
必須等到iframe加載完成后,
在調(diào)用document.getElementById('iframe').contentDocument獲取svgDom,
否則會獲取不到svgDom。*/
var iframe = document.getElementById('svgframe');//獲取id為svgframe的iframe對象
if (iframe.attachEvent) {
iframe.attachEvent('onload', function () {
alert('iframe is loaded')
})
} else {
iframe.onload = function () {
//這里獲取svgDom
var iframeSvg = document.getElementById('svgframe').contentDocument;
//接下來就可以對svgDom進(jìn)行操作,綁定元素點(diǎn)擊事件,改變元素的屬性等等
//給svg上id為‘VKnife1’的元素綁定點(diǎn)擊事件
iframeSvg.getElementById('VKnife1').addEventListener('click', function () {
//點(diǎn)擊事件操作
alert("點(diǎn)擊開關(guān)");
})
}
}
添加回答
舉報