jquery UIの「反対」を作成する方法を理解しようとしています。誰かがオプションを選択せずに "jquery something"と入力すると、出力は "new input:jquery something"となります。しかし、 "jquery"が選択されているときは、何らかの形で "list:jquery"から選択してkeypressの伝播を防ぐだけでいいです。しかし、両方のイベントが発生します。私はそれを一つまたは他のものにしようとしています。jquery ui autocomplete:アイテムが選択されていない場合にのみトリガー
<input class="test" type="text" />
<script>
$('.test').autocomplete({
select: function (event, ui) {
alert('selected from list: ' + ui.item.label);
event.preventDefault();
return false;
},
source: ["jquery", "jquery ui", "sizzle"]
});
$('.test').live('keypress', function (e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
alert('new input: ' + $(this).val());
}
});
</script>
これは、「入力」キーがuiのメニューからオプションを選択するために使用されることを前提としています。
、それは私のようにキーを示しタイプを選択しますが、値を選択した場合は、矢印キーを使用してもキープレスイベントは表示されません。問題を明確にするか、少なくともこれがどのような究極の使用法なのかを教えてください。そうすれば、どのようにして支援するのかをよりよく理解することができます。 –
私は警告するためにそれを変更します。 Console.logはFirebug用です。また、 "enter"キーで入力してください。 – Parmenides