ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryでkeyupイベントが実行されないのはなぜですか?
1. #skillKey tr 要素をクリックするとコードの色が変わります。
その後、キーボード入力後に現在の要素のテキストが変更されます。
デバッグの都合上、ステップ 2 は省略されます。 asalert(123)HTML コード コードは次のとおりです:
<table id="skillKey"> <tbody> <tr>Q</tr> </tbody> <table>
コードは次のとおりです: $(function () {
$('#skillKey').on('click', 'tr', function () {
$(this).css('color','red');
$(this).keyup(function(){
alert(123)
});
});
})
クリックすると要素の色が変わるのに、キーボードから入力するとアラートが表示されないのはなぜですか?この効果は確かに $(
).keyup() を通じて達成できます。理由を知りたいです。おそらく、それは keyup() がバインドする必要がある要素のタイプと関係があるのでしょうか? 別: keyup()
関数呼び出しメソッドが間違っています。次のように書かれている場合: $(function () {
$('#skillKey').on('click', 'tr', function () {
$(this).css('color','red');
$(this).keyup(alert(123));
});
})
trをクリックした後に要素の色が変わると、ウィンドウ123がポップアップします。これはなぜですか?
最初に間違いを 1 つ指摘します
$('#skillKey').on('click', 'tr', function () { $(this).css('color','red'); $(this).keyup(function(){ alert(123) }); });
このように
eventをバインドすると、tr はクリックすると 1 回バインドされ、クリックするたびにバインドされます。この例はまだバインドされていません。あなたは tr にいます。入力を配置して、効果を確認するために次のコードを書いてくださいrreee、いくつかの提案をしてください
まず使用する必要がある要素は
cache です。$ を乱用しないでください。読みやすい場合は連鎖を使用できます $('#skillKey').on('click', 'input', function () {
$(this).css('color','red');
$(this).blur(function(){
alert(123)
});
});
以上がjqueryでkeyupイベントが実行されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。