我有这个浏览器元素:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window width="400" height="300"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<browser
id="mybrowser"
onclick="dump('CLICKED!\n')"
onfocus="dump('FOCUSED!\n')"
type="content"
src="http://www.google.com/"
flex="1" />
</window>
且onclick
运作良好,但onfocus
运行良好。两者都是从DOM element继承的,所以它应该有效。
知道为什么它不起作用吗?
obs。我知道我可以通过向窗口添加焦点监听器来使其工作。但是我想知道为什么onclick
被修正为继承并为浏览器元素工作,而onfocus
没有。
答案 0 :(得分:0)
答案是点击事件会冒泡,但焦点(和模糊)事件却没有。 (加载和卸载事件略有不同,因为页面的[i]帧元素上的事件处理程序将触发,就像事件已经冒泡一样。它们仍然不会冒泡到<browser type="content">
。)
我不知道为什么这些事件不会冒泡。