4 回答

TA貢獻1859條經驗 獲得超6個贊
不。
你有一個表格。就這樣對待它。
document.getElementById('input_listName').addEventListener('submit', function(e) {
e.preventDefault();
const li = document.createElement('li');
li.append(this.listName.value);
document.querySelector(".ul_current").append(li);
// optionally:
// this.listName.value = ""
}, false);
<form id="input_listName">
<input type="text" name="listName" />
<button type="submit">add</button>
</form>
<ul class="ul_current"></ul>
使其成為表單可以提供瀏覽器為您帶來的所有好處。在桌面上,您可以按 Enter 提交。在移動設備上,虛擬鍵盤還可以提供快速訪問提交按鈕。您甚至可以required
向<input />
元素添加驗證規則,瀏覽器將為您處理這一切。

TA貢獻1873條經驗 獲得超9個贊
我認為您想要的是檢查按下了哪個鍵,對嗎?
為此,您只需檢查 event.keyCode === 13
所以你的代碼將類似于以下內容:
$('#btn_createList').keypress(function(event){
if (event.keyCode === 13) {
$('.ul_current').append($('<li>', {
text: $('#input_listName').val()
}));
}
});
希望這能起到作用!

TA貢獻1793條經驗 獲得超6個贊
借助 的幫助event,您可以捕獲按下的enter(keycode = 13) 鍵,如我的示例中所示。
有必要嗎?
$('#btn_createList').keypress(function(event){
if (event.keyCode == 13) {
$('.ul_current').append($('<li>', {
text: $('#input_listName').val()
}));
}
});

TA貢獻1936條經驗 獲得超7個贊
<input id="input_listName" /><button id="btn_createList">add</button>此語法在技術上是錯誤的,您的標簽以 開頭<input>和結尾</button>。您還可以向函數添加一個簡單的檢查,如果用戶沒有在輸入字段中輸入任何內容,則不應返回任何內容。
您還可以查看此備忘單以了解有關鍵碼的更多信息https://css-tricks.com/snippets/javascript/javascript-keycodes/
$('#btn_createList').keypress(function(event){
if($('#input_listName').val()) {
if (event.keyCode == 13) {
$('.ul_current').append($('<li>', {
text: $('#input_listName').val()
}));
}
}
});
<div id="btn_createList">
<input id="input_listName" type="text">
<ul class="ul_current">
</ul>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs=" crossorigin="anonymous"></script>
添加回答
舉報