0

每当创建对象时如何调用任何 javascript 函数。

好吧,我不确定,但是,当我创建任何对象时,有什么方法可以调用 javascript 函数。?

var myScroll = new iScroll("wrapper");

function objectCreated() {
    alert("yes created")
}

这里我想在创建 iScroll 对象时调用函数objectCreated函数。我知道我可以从 iScroll 构造函数调用函数objectCreated,但我不想在 iscroll 中进行更改。

4

2 回答 2

1

您无法拦截任何对象创建,但您可以iScroll在这种情况下进行修补:

// overwrite with a patched function
iScroll = (function(old) {
  return function() {
    // call your interceptor function
    objectCreated();

    // pass everything through to the original iScroll function
    return old.apply(this, arguments);
  };
})(iScroll);
于 2012-08-20T09:26:03.553 回答
0

我会添加一个新的答案。我修补了 iScroll(我稍后会为 cubiq 提出拉取请求)。演示可以在这里看到:http ://www.hakoniemi.net/labs/iscroll/和修补的 iScroll 可以在这里找到:https ://github.com/zvona/iscroll/blob/master/src/iscroll.js

简而言之,代码如下所示:

myIScroll = new iScroll("myScroll", {
    "onCreate" : function() { alert('created'); },
    "onDestroy" : function() { alert('destroyed'); }
});
于 2012-08-21T14:35:01.633 回答