2

我在 iOS 上的移动 Safari 中收到一条奇怪的错误消息:

“TypeError:'[object Object]' 不是 'Function.prototype.apply' 的有效参数”。

触发此操作的代码在 Chrome 中运行良好(在将事件类型调整为单击而不是点击之后)。

    // task-item visualization
    $(".task-item").live('touchend',function(e){
        app.toggleTask.apply(this,e);
    });

我曾经在事件绑定器中直接将 .toggleTask 作为匿名函数,但我正在尝试重构所有这些东西,以便我可以重用它。我错过了什么?我在事件上下文中使用apply将它传递给函数,但它似乎不喜欢移动Safari中的这个参数(猜测phonegap中的相同错误,但看不到它)。

该项目使用 Zepto 0.7、phonegap 1.2 并在 iOS5 ipad 上。

4

1 回答 1

5

根据 MDN,apply 方法将数组作为第二个参数。你想试试:

// task-item visualization
$(".task-item").live('touchend',function(e){
    app.toggleTask.apply(this,[e]);
});
于 2012-01-26T14:29:09.850 回答