亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓 javascript 函數在 Enter 鍵上運行,而不是單擊?

如何讓 javascript 函數在 Enter 鍵上運行,而不是單擊?

暮色呼如 2023-07-20 10:10:30
當我單擊此按鈕時,它會運行該函數,一切正常。<input id="input_listName" /><button id="btn_createList">add</button>當我點擊它時,它會運行:$('#btn_createList').click(function(){    $('.ul_current').append($('<li>', {         text: $('#input_listName').val()    }));});當我按下它時,它將輸入中的值附加到元素<li>。如何重做此操作,以便在單擊“輸入鍵”時運行該函數,而不是單擊時運行函數?我想把提交鍵全部隱藏起來。請注意,輸入和提交周圍沒有表單標簽,因為這是一個 API 應用程序,我只是想過濾而不是真正提交任何內容。
查看完整描述

4 回答

?
BIG陽

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 />元素添加驗證規則,瀏覽器將為您處理這一切。



查看完整回答
反對 回復 2023-07-20
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

我認為您想要的是檢查按下了哪個鍵,對嗎?


為此,您只需檢查 event.keyCode === 13


所以你的代碼將類似于以下內容:


$('#btn_createList').keypress(function(event){

    if (event.keyCode === 13) {

         $('.ul_current').append($('<li>', {

             text: $('#input_listName').val()

         }));

    }    

});

希望這能起到作用!


查看完整回答
反對 回復 2023-07-20
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

借助 的幫助event,您可以捕獲按下的enter(keycode = 13) 鍵,如我的示例中所示。


有必要嗎?


$('#btn_createList').keypress(function(event){

   if (event.keyCode == 13) {

    $('.ul_current').append($('<li>', {

         text: $('#input_listName').val()

    }));

    }

});


查看完整回答
反對 回復 2023-07-20
?
LEATH

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>


查看完整回答
反對 回復 2023-07-20
  • 4 回答
  • 0 關注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號