簡體   English   中英

jQuery 事件按鍵:回車鍵

[英]jQuery Event Keypress: Enter key

我有一個具有值的組合框,我想讓用戶在按下Enter鍵時選擇這些值。

  1. 用戶可以通過Arrow鍵導航
  2. 選擇用戶輸入Enter鍵時的值。

我做了這個:

$('#cmb_CIMtrek_DailyshipCo_CustomerName select').bind('keypress', function(e) {
    var code = (e.keyCode ? e.keyCode : e.which);
     if(code == 13) { //Enter keycode
       //Do something
         alert("Enter key Pressed");
     }
});

但是當我按Enter鍵時沒有發出警報。

可能是什么問題以及如何解決它?

最好的祝福。

 <select>
    <option value="1">1</option>
    <option value="2">2</option>
 </select>     

 <script> 
 $('select').live('keypress',function(e){
     var p = e.which;
     if(p==13){
         alert('enter was pressed');
     }
 });
 </script>

試試這個

$('#cmb_CIMtrek_DailyshipCo_CustomerName select').keypress(function(event){

        var keycode = (event.keyCode ? event.keyCode : event.which);
        if(keycode == '13'){
            alert('You pressed a "enter" key in textbox');  
        }
        event.stopPropagation();
    });

如果您想在用戶按下回車鍵時發布表單,您還可以使用默認行為的提交按鈕。

如果您不想發布表單但確實有提交按鈕,則這可能會捕獲關鍵事件並且不會傳播。因此請刪除任何提交按鈕。

要將事件限制為對象使用:

if (e.target == document.getElementById('element-id'))

或 jquery

if (this == $('#element-id').get(0))

您的代碼如下所示:

$(document).bind('keypress', function(e) 
    {
    // Use 'this' or 'e.target' (whithout quotes)
    if (this == $('#cmb_CIMtrek_DailyshipCo_CustomerName select').get(0))
        {
        var code = (e.keyCode ? e.keyCode : e.which);
        if(code == 13)
            { //Enter keycode
            //Do something
            alert("Enter key Pressed");
            }
        }
    // Stop the event from triggering anything else
    e.stopPropagation();
    });

例如:

 <!html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> </head> <div class="form-group"> <label for="exampleFormControlSelect1">Bodega</label> <select class="form-control" id="exampleFormControlSelect1"> <option value="despacho">Despacho</option> <option value="ventas">Ventas</option> </select> </div> <script> $('#exampleFormControlSelect1').on('keypress',function(e){ var p = e.which; if(p==13){ alert('enter was pressed'); } }); </script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM