jquerymobile eval с отсутствующим параметром объекта] после списка элементов - PullRequest
0 голосов
/ 01 марта 2012

Этот обработчик не любит параметр $ page в функции eval, так как есть ошибка «отсутствует] после списка элементов», есть ли способ передать этот параметр через?

$('div[data-role="page"]').live('pageinit pagebeforeshow pageshow pagebeforehide pagehide', function (event, ui) {
    var $page = $(this);
    var type = event.type.replace('page', 'Page').replace('init', 'Init').replace('before', 'Before').replace('show', 'Show').replace('hide', 'Hide');
    eval('Controller.Method.' + type + '(' + $page + ')');
});

1 Ответ

1 голос
/ 01 марта 2012

Вы заставляете $page быть частью строки, что не совсем работает, потому что это объект jQuery. Строка будет [object Object], потому что нет лучшего строкового представления для объекта jQuery.

Это как раз тот случай, когда избегайте , используя eval. Это должно работать, и это чище и безопаснее:

Controller.Method[type]($page);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...