Событие Jquery запускается дважды без причины - PullRequest
1 голос
/ 11 марта 2010

У меня проблема с простой формой, когда я пытаюсь запустить запрос ajax, когда кто-то что-то печатает.После отладки у меня остается предупреждение, когда событие запускается, но оно появляется дважды, независимо от браузера.(Игнорируйте атрибут 'rel' во входных тегах, это для чего-то другого, если только вы не думаете, что его атрибут rel вызывает проблему).

<form class="formBig" name="formRegister" id="formRegister" method="post" action="">
    <label class="label" id="locationLabel" for="location">Location</label>
    <input class="input" name="location" id="location" type="text" rel="locationLabel" value="" />
</form>

<script type="text/javascript">
$("#location").click(function() {
    alert($(this).attr('id'));
});
</script>

Ответы [ 3 ]

3 голосов
/ 11 марта 2010

Вы связываете обработчик события щелчка с полем ввода текста, что означает, что он будет вызываться при нажатии, а не при вводе. Попробуйте использовать событие keyup .

1 голос
/ 12 марта 2010

В итоге я понял это, потому что (по неизвестной мне причине) jquery, который я включал, был вставлен после формы.

Однако, если я включил его в документ, он работал нормально. Я предполагаю, что это как-то связано с DOM. Я не знаю, я все еще довольно nbbish, когда дело доходит до JQuery.

И готовый документ вызывается из заголовочных тегов через скрипт include.

0 голосов
/ 13 января 2012

В основном, это срабатывает дважды, потому что с этим событием связана метка, которая приведет к тому, что событие будет инициировано дважды, один на входе, а другой на связанной метке.

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