Javascript jQuery事件键按:输入键
我有一个组合框,其中有一些值,我想让用户在按下Enter键时选择这些值 用户可以通过箭头键导航 选择用户输入Enter键时的值。 我已经做了这个:Javascript jQuery事件键按:输入键,javascript,jquery,html,Javascript,Jquery,Html,我有一个组合框,其中有一些值,我想让用户在按下Enter键时选择这些值 用户可以通过箭头键导航 选择用户输入Enter键时的值。 我已经做了这个: $('#cmb_CIMtrek_DailyshipCo_CustomerName select').bind('keypress', function(e) { var code = (e.keyCode ? e.keyCode : e.which); if(code == 13) { //Enter keycode
$('#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");
}
});
但当我按下回车键时,它不会发出警报
问题可能是什么?如何解决
致以最诚挚的问候。试试这一款
$('#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();
});
如果您想在用户按enter键时发布表单,您还可以使用“提交”按钮,该按钮将此行为作为默认行为 如果您不想发布表单,但确实有一个提交按钮,这可能会捕获关键事件,并且不会传播。因此,请删除任何提交按钮 要将事件限制为对象,请使用:
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();
});
例如:
酒馆
及批示
文塔斯
$'exampleFormControlSelect1'。在'keypress'上,函数E{
var p=e,其中;
ifp==13{
警报“按下回车键”;
}
};
我不认为这是您遇到的问题,但这对于jQuery是不必要的:var code=e.keyCode?e、 键码:e.which;jQuery。试试keyup。从jQuery文档中可以看出:keypress事件不在任何官方规范的范围内,使用它时遇到的实际行为可能因浏览器、浏览器版本和,在一些html输入元素中按enter键将导致表单提交或至少触发onsubmit Firefox将触发输入类型submit onclick。如果是这种情况,您可能希望在事件对象上使用preventDefault:@HMR FYI在HTML5中选择标记上没有这样的行为:并且默认情况下,select已经支持您想要实现的目标tag@AspiringAqib这不起作用,这就是这个帖子在这里的原因。好吧,这个似乎起作用了,现在,我想在单击特定元素时限制Enter选项在我的例子中是Combo boxselecti我有几个组合框,每个组合框都有自己的功能,如何为特定的组合框触发此选项使用它们的id。每个组合框放置一个唯一的id,然后将脚本更改为$'Combo_id'。live'keypress',functione{let us live已被弃用。Use on insteadUsing live已被弃用,取而代之的是on,例如:$id.onkeypress,functionevent{alert'message';};
$(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();
});