Я просто хочу знать, как использовать Нокаут-х onEnter
с JQuery в $(document).on("keypress", "form"...
Потому что каждый раз, когда я нажимаю войти в form
она представит формульной на сервер.
Использование event.preventDefault()
предотвратит отправку формы, но также предотвращает нокаутов onEnter
...?!
$(document).on("keypress", "form", function (event)
{
if ($(event.target).closest("input[data-bind*='onEnter']")[0])
{
event.preventDefault(); //preventing form to be submitted
return true;//but the function behind 'onEnter' will not be trigered
}
if (event.keyCode == 13)//Enter
{
event.preventDefault();
return false;
}
});
Как будет onEnter
будет запущен после упомянутого выше кода?
Благодаря
Почему вы используете JQuery для обработки нажатия клавиши вместо использования 'data-bind =" submit: doSomething "' на вашем '
@Darren На самом деле у меня нет обработчика событий и нет кнопки, которая будет (это, кстати, стандартное поведение html для отправки формуляра при нажатии enter), не спрашивайте меня о причине использования контейнера 'form' без действия (кто-то сделал это решение, возможно, из-за bootstrap3. ..). Форма выглядит так:
Итак, у вас нет кнопки в вашей форме, но ожидаемое поведение - нажать enter ? Как пользователь узнает об этом?(просто любопытно) - и вы также, возможно, разумны, чтобы взглянуть на создание собственного обработчика привязки, вместо того чтобы пытаться смешивать jquery с нокаутом. Я добавлю ответ. – Darren