我有以下网页:
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
</head>
<body>
<script>window.bark = function() {
console.log('woof')
}
</script>
<object role='img'
data='https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg'
onclick='window.bark()' />
</body>
</html>
&#13;
我知道object标签内的内容有自己的文档上下文,但我想知道:有没有办法允许对象调用绑定到窗口的函数?
答案 0 :(得分:1)
在您当前的实施中,这是不可能的,而不是因为object
的{{1}}处于不同的全局背景下。 (事实上,点击事件甚至不在window
的文档中。它位于顶层文档中,因此范围不会有问题。)
这是因为您无法直接在object
元素上有效收听点击。例如,同样适用于object
。点击事件在元素的文档中触发,而不是在元素本身上触发。