Функция применяется в мобильном сафари - PullRequest
2 голосов
/ 26 января 2012

Я получаю странное сообщение об ошибке в мобильном сафари на iOS:

"TypeError: '[object Object]' не является допустимым аргументом для '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 Ответ

5 голосов
/ 26 января 2012

Согласно MDN, метод apply принимает массив в качестве второго аргумента.Вы хотите попробовать:

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