Остановить событие на keyup в MooTools не работает на клавишу ввода - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть эта форма:

            <div class="row border-tb">
                <form id="test-form" action="/test/insert" method="post" class="form-inline offset4 span16">
                    <div class="box-suggest span13 border-tb">
                        <input type="text" name="test" value="" id="test" class="span13" placeholder="proviamo con il test"/>
                    </div>
                    <button style="margin-left: 5px;" id="send-button" type="submit" class="btn"> <i class="icon-plus"></i> </button>
                </form>
            </div>

и это событие mootools для захвата ключа:

            $('test').addEvent("keyup",function(event){
                event.stop();
                alert("Why after this alert redirect on url: test/insert ??????");
            })

Моя проблема в том, что event.stop () не препятствует отправке формы, когдаЯ нажимаю клавишу ВВОД.

Я пробовал также event.stopPropagation () и event.preventDefault (), но ничего.Он всегда перенаправляет на URL: «тест / вставка», когда я нажимаю клавишу ВВОД.

Почему?

1 Ответ

3 голосов
/ 18 февраля 2012

Это происходит потому, что событие также запускается при нажатии клавиши, а затем в форме запускается событие отправки.

Попробуйте добавить это:

$('test-form').addEvent("submit",function(event){
   event.stop();
   return false;
});

==================

Редактировать

Вышесказанное предотвратит все отправки формы, так как это, вероятно, не то, что вам нужно, вот более простое решение:

$('test').addEvent("keydown",function(event){
    event.stop();
    alert("Why after this alert redirect on url: test/insert ??????");
    return false;
})

Я не писал его раньше, так как вам может понадобиться событие UP, а не DOWN, но это имеет больше смысла.

...