function suggest(baseUrl , data) { var wordInput = $("#userName"); wordInput.keyup(function(event) { alert(1); }//调用这个函数,弹出一个窗口,内有输入框id为userName, //第一次弹出窗口,在输入框内按一次键,弹出一次alert //关闭窗口在从新进入,在输入框内按两次键,弹出两次alert //如此递增 ,为什么啊 ,多谢 }
を処理します。keyup をテキスト ボックスにバインドすると、キーを 2 回押すと、2 回再生されます。どのような効果が欲しいですか?通常は、特定のキーを押した後に判断して操作を実行する必要があります
問題の説明が間違っています
//初めてウィンドウが表示されるとき、入力ボックスでキーを1回押すと、アラートが表示されますup
//ウィンドウを閉じて再入力し、入力ボックスでキーを 2 回押すと、アラートが 2 回ポップアップ表示されます
//ウィンドウを閉じて再入力し、入力ボックスでキーを 2 回押すと、アラートが3回ポップアップします
//このように増えます、なぜですか、ありがとう
そのはずです 繰り返しバインドの問題について、あなたのメソッドはポップアップウィンドウの後にトリガーされていますか?特別な要件はありますか?最初にトリガーするように変更しますか?そうすれば、イベントを 1 回バインドするだけで問題ありません
function suggest(baseUrl , data) { var wordInput = $("#userName"); var wordInputOffset = wordInput.offset() alert(2); wordInput.keyup(function(event) { alert(1); var myEvent = event || window.event; var autoNode = $("#auto"); }} //alert(2);这个alert很正常,所以应该不是你说的问题
keyup は、キーを押して一度持ち上げ、もう一度押してもう一度持ち上げることを意味します。これは正常な結果です。 。これがあなたの目的ではない場合は、希望する結果を明記してください。アドバイスを提供いたします。
バインドイベントのコードの場所に問題があります。完全なコードを繰り返しバインドする必要があります。または、この方法
wordInput.unbind('keyup').keyup(function(event)...
は、まず以前にバインドされたイベントのバインドを解除してから、それを再バインドします
以上がjQuery処理キーボードキーアップイベントの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。