JQuery Mobile. Live не работает на кнопках отправки формы - PullRequest
0 голосов
/ 11 ноября 2011

Я пытаюсь добавить слушателя на все кнопки отправки в моих диалогах.Проблема в том, что мои .live() слушатели не выполняются, и я не могу понять, почему.

Если я использую onClick, это будет работать, но я бы предпочел быть более эффективным и не долженadd onНажмите на все мои кнопки submi.

Есть мысли?

$('input[type="submit"]').live('click', (function (e) {
    alert('test'); //never executes
}));

Я загружаю файл base.js после загрузки jquery на страницу.Это не внутри какой-либо $(document).ready(); или чего-либо еще.

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Если ваша цель - повысить эффективность, вам следует как можно больше избегать функции .live. В прямом эфире может пройти гораздо больше событий, прежде чем он сработает. Ваша производительность на странице была бы намного выше, если бы вы просто использовали именованную функцию и поместили ее в событие onclick своей ссылки, вы получили бы максимально возможную производительность. Это также позволяет избежать снижения производительности, вызванного замыканиями.

Следующий самый быстрый способ сделать это - прикрепить события непосредственно к кнопкам на событии PageCreate, как это. Это предотвратит проблемы закрытия и уменьшит всплеск событий.

<script type="text/javascript">
    function mySubmitHandler(){
      alert("test");
    }

    $("div").live("pagecreate", function(){
        $('input[type="submit"]').bind('click', mySubmitHandler);
    });
</script>
0 голосов
/ 11 ноября 2011

Может ли предотвратить по умолчанию быть проблема здесь?

Проверьте, работает ли .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...