我有一個帶有嵌入式IFRAME的HTML頁面(父級)。父頁面有鼠標和鍵盤事件的兩個事件監聽器,如下所示(我正在使用Prototype庫)。如何讓IFRAME收聽與父母相同的事件(並激發相同的處理程序)
var IdleMonitor = Class.create({
active: null,
initialize: function(ii) {
Element.observe(window, "mousemove", this.sendActiveSignal.bind(this));
},
sendActiveSignal: function() {
console.log("MOUSE");
}
});
var idleMonitor = new IdleMonitor();
IFRAME作爲一個單獨的文檔和所有文檔不會響應父代的事件。所以我已經設置了一些代碼在IFRAME這樣的:
<script type="text/javascript" >
Element.observe(window, "mousemove", function(p) {
parent.sendActiveSignal();
});
</script>
但是,這給了我一個錯誤(sendActiveSignal是未定義功能)。 我該如何讓IFRAME監聽相同的事件並激發父母的事件處理程序,最好以Prototype-y方式?
點上bindAsEventListenter()採取...感謝 但是,功能仍然不確定;一定是因爲它在那個班上? – yalestar 2009-06-16 00:03:21
當我回家時,我會調試它,但是如果你得到idleMonitor成員的權利(不是空的實例或未定義的值),問題可能在於原型如何創建類(函數)。我在框架和彈出窗口之間做了一些工作,它們工作得很好......我不得不實施一些'魔術'來使原型對象工作。 – wtaniguchi 2009-06-16 21:03:07