と仮定私は、PHPのループ内<tr>
と<td>
と、このようなテーブルがあります。色を変更するとき焦点を当てている内に入力
table tr.active{
background:red;
}
:私はCSSを使用しました
//Some code...
echo "<table id='rowClick'>";
while($row=mysql_fetch_assoc($result){
echo "<tr><td><input type='text' value='{$row['item']}'></td></tr>";
}
echo "</table>";
//Rest of code
をそして、JQueryの場合:
<script>
$(document).ready(function(){
$("#rowClick").children("tbody").children("tr").children("td").keydown(function(){
$(this.parentNode).toggleClass("active");
});
$("#rowClick").children("tbody").children("tr").children("td").keyup(function(){
$(this.parentNode).toggleClass("active");
});
});
</script>
私はJQueryに慣れていません。ユーザーが<td>
入力フィールド(またはフォーカスしている)を選択すると、いずれの行でも<tr>
の色が変更されます。上記のjqueryによれば、私は入力フィールドを選択するたびに赤に変わり、次のものを選択するとデフォルトの表の色に戻ってしまうので、期待どおりに動作します。
私はあなたのKeyDown/keyUpイベントを使用している理由はわかりません。 [focusin](https://api.jquery.com/focusin/)と[focusout](https://api.jquery.com/focusout/)を使いたいと思うようです。また、 'toggleClass'を実行する代わりに、あなたはfocusinで' addClass'を行い、フォーカスアウトで 'removeClass'をやっているはずです。 – David784
私はこれを試してみましょう、私は結果をあなたに戻ってお知らせします! –