[英]jQuery Event Keypress: Enter key
我有一个具有值的组合框,我想让用户在按下Enter
键时选择这些值。
Arrow
键导航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.