2012-01-26 14 views
2

を適用します。機能は、私はiOSのモバイルサファリ内部の奇妙なエラーメッセージが出ていモバイルSafariで

「はTypeError: 『[オブジェクトのオブジェクト]は』 『Function.prototype.applyの』の有効な引数ではありません」。

これをトリガーするコードはChromeでうまく機能します(タップではなくクリックするようにイベントタイプを調整した後)。

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

私は.toggleTaskイベントバインダー内の無名関数として直接持っていましたが、私はそれを再利用することができますので、このようなもののすべてをリファクタリングしようとしています。私は何が欠けていますか?これをイベントコンテキストでapplyを使って関数に渡していますが、この引数をモバイルサファリ(phonegapの同じエラーを推測しますが、それを見ることはできません)では気に入らないようです。

プロジェクトではZepto 0.7、phonegap 1.2を使用していますが、iOS5 ipadにあります。

+1

試した 'app.toggleTask.apply(this、arguments);' –

答えて

5

MDNによると、the apply methodは、2番目の引数として配列をとります。あなたは試してみてください:

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

パーフェクト、うまく動作します。これは誤解していた「this」ではありませんでした。それはクロムでうまく動作する奇妙な! – dmp

関連する問題