mouseleave事件能夠對CSS進行更改,但當ALT鍵被釋放時,keyup事件不會執行它應該進行的CSS更改。它干擾了mouseenter嗎?如果是的話,那麼如何解決這個問題呢?爲什麼'keyup'事件無法在CSS中進行更改?
$(document).on('mouseleave', '.el', function(e) {
$(this).css("background-color", "white");
$(this).css("color", "black");
});
$(document).on('keyup', '.el', function(e) {
if (e.altKey) {
$(this).css("background-color", "white");
$(this).css("color", "black");
}
});
$(document).on('mouseenter keypress', '.el', function(e) {
if (e.altKey) {
$(this).css("background-color", "#99DCFC");
$(this).css("color", "red");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="t1" align="center" border=1>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email Address</th>
<th>Telephone Number</th>
</tr>
<tr id="r">
<tbody>
<td id="d1" class="el" contenteditable="true"></td>
<td id="d2" class="el" contenteditable="true"></td>
<td id="d3" class="el" contenteditable="true"></td>
<td id="d4" class="el" contenteditable="true"></td>
<td>
<button id="del1">Delete</button>
</td>
</tbody>
</tr>
</table>
這是對我工作的罰款。你的代碼片段正在如何工作。你使用的是什麼瀏覽器? –
我想你會發現在keyup事件中'e.altKey'是'false',因爲這個鍵剛剛被釋放。嘗試將其更改爲'if(!e.altKey)'。但請注意,只有具有焦點的元素纔會收到'keyup'事件... – nnnnnn
當altkey發佈時,是否將顏色更改爲黑色和背景爲白色? –