我的目標是在按下鍵后從我的文本框中洗掉只讀屬性"E"。它正在作業,但問題是在我點擊"E"它后,它也會自動添加到文本框中。有沒有辦法避免這種情況?我錯過了什么嗎?謝謝你,祝你有美好的一天
$(document).keydown(function(e) {
if ($(e.target).is('input')) {
return true
} else if (e.keyCode == 84) {
var href = $('#top').attr('href');
window.location.href = href;
}
if (e.keyCode == 69) {
$("#edit").click();
$(".removereadonly").attr("readonly", false);
$('.auto').focus();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="edit">
button
</button>
<input type="text" id="testingid" class="removereadonly auto" readonly>
uj5u.com熱心網友回復:
您可以使用 取消 jquery 事件return false;。
將它放在檢查中e只會取消初始按鍵 - 如果用戶繼續按住按鍵,輸入將接收其他事件。
您可能想添加額外的檢查,否則任何未來的按下e也將重新聚焦(除非輸入)。
更新片段:
$(document).keydown(function(e) {
if ($(e.target).is('input')) {
return true
}
if (e.keyCode == 69 && $(".removereadonly").length) {
$("#edit").click();
$(".removereadonly")
.attr("readonly", false)
.removeClass("removereadonly");
$('.auto').focus();
return false;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="edit">button</button>
<input type="text" id="testingid" class="removereadonly auto" readonly>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/435261.html
標籤:jQuery
