私の目は壊れているので、この質問はキーボードイベントに固有のものです。keypressイベントとクリックイベント
私はこのように、ボタンのクリックイベントハンドラを定義する場合:私は、私はほとんどのWebアプリケーションは、HTMLを実行するためにクリックイベントを使用すると思います(マウスを使用することはできませんので
$("#button").on("click", function() {
alert("clicked");
});
要素)、私はこのイベントをテストし、ボタンを押してEnterを押しました。イベントは正常に終了しました。それ以来、私はenterキーを押すとhtml要素にclickイベントをシミュレートすると信じてきました。私は送信ボタンを何度も実行していたので、そうでないと信じる理由はありません。
今、私がアクセスしたときに値を移入する必要のあるテキストボックスを作成しています。だから私はこれをした:
$("#text").on("click", function() {
alert("clicked");
});
しかし、それを入力しても、値は表示されません。しかし、他の人がマウスを使って要素をクリックすると、イベントは正常に発生します。私はjqueryの-UIのオートコンプリートを使用しています
:ここ
は、私が上で働いているコードです。私は、ユーザーがテキストボックスの中に入ると、テキストボックスにデータが入るようにしたいと思います。私は中に入るするにはEnterキーを押します...
$("#tags").autocomplete({
source: names,
minLength: 0,
select: function(event, ui) {
var index = names.indexOf($(this).prop("value"));
$(this).val("");
$("#selected").append("<li>"+names[index]+
"<input type='hidden' id='id' value='"+ids[index]+"'/>"+
"<a href=''>remove</a></li>");
ids.splice(index, 1);
names.splice(index, 1);
return false;
}
}).on("click", function(event) {
$(this).autocomplete("search", $(this).val());
});
が本当に緊急の間に差がある入力とマウスがクリック?私は何をすべきか? 「入力」のKeyPressイベントとテストをキャッチ
私は、これはボタンのようなクリック可能な要素に当てはまると考えていますが、テキストボックスではEnterは別の意味、つまりリターンを持っています。スペースバーは、クリックするための代替手段としても機能します。 – Mouser
送信ボタンには「デフォルト」のステータスがあり、ユーザーがにヒットしたときに「クリック」されます。 「送信」ボタンを追加すると、期待通りに機能します。 –
allnodcoms