Ответ 1
Вы ищете keydown/press/up
$("#inputID").keydown(function(event) {
alert(event.keyCode);
});
или используя bind $( "# inputID" ). bind ('onkeydown',...
Как связать событие OnChange для TextBox с помощью jQuery?
Попробуйте это и его провал:
$(document).ready(function() {
$("input#tags").bind("change",autoFill);
});
function autoFill() {
$("#tags").autocomplete("/taglookup/", {
width: 320,
max: 4,
highlight: false,
multiple: true,
multipleSeparator:",",
scroll: true,
scrollHeight: 300,
delay: 10
});
}
NB: Я хочу реализовать тег TextBox, как тот, который используется для stackoverflow, который обнаруживает события OnChange и вызывает функции AJAX при входе пользователя.
Вы ищете keydown/press/up
$("#inputID").keydown(function(event) {
alert(event.keyCode);
});
или используя bind $( "# inputID" ). bind ('onkeydown',...
Вы должны изменить имя события с "change" на "onchange":
$(document).ready(function(){
$("input#tags").bind("onchange", autoFill);
});
или используйте изменение метода связующего связующего:
$(document).ready(function(){
$("input#tags").change(autoFill);
});
Обратите внимание, что событие onchange обычно срабатывает, когда пользователь покидает вход, поэтому для автоматического завершения вам лучше использовать событие keydown.
Комбинация keyup
и change
необязательно достаточно (автозаполнение браузера и вставка с помощью мыши также изменяют содержимое текстового поля, но не запускают ни одно из этих событий):
изменение jquery не работает с изменением динамических значений
I 2-й ответ Чада Гранта, а также отправьте эту статью в блоге [удалена мертвая ссылка] для вашего удовольствия.
Вот подсказка, почему вызов onchange() может не запускать вашу связанную функцию:
Что говорит Чад, за исключением того, что в этом случае лучше использовать .keyup, потому что с .keydown и .keypress значение ввода по-прежнему является более старым значением, то есть самая новая нажатая клавиша не будет отражена, если вызывается .val(),
Вероятно, это комментарий к ответу Чада, но у меня нет прав на комментарий.
если вы пытаетесь использовать плагин jQuery autocomplete, тогда я думаю, что вам не нужно связываться с событием onChange, он будет