0

我需要在 fennec 插件中处理页面滚动我做了接下来的事情:

function onScrollHand(window, event) {
 showToast(window, "Scrolling");
}

var windowListener = {
  onOpenWindow: function(aWindow) {
    let domWindow = aWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowInternal || Ci.nsIDOMWindow);

    domWindow.addEventListener("onscroll", function onScroll(event) {
      onScrollHand(domWindow ,event);
    }, false);
  }, 
};

function startup(aData, aReason) {
  let wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator);

  wm.addListener(windowListener);
}

而且我没有收到滚动事件。有人有任何想法或一些工作代码吗?

4

2 回答 2

0

问题通过添加解决

window.onscroll = scroll;

function scroll (event) {
}

在函数 loadIntoWindow(window) 函数中

于 2014-06-18T11:13:11.743 回答
0

addEventListener不使用on*,即它应该是:

domWindow.addEventListener("scroll", function onScroll(event) {
  onScrollHand(domWindow, event);
}, false);

至少可以说,覆盖window.onscroll是有问题的,因为它将覆盖onscroll页面自己设置的任何内容。addEventListener不覆盖。

于 2014-07-08T14:49:55.020 回答