Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 简单按键事件不适用于textbox_Javascript_Jquery_Html - Fatal编程技术网

Javascript 简单按键事件不适用于textbox

Javascript 简单按键事件不适用于textbox,javascript,jquery,html,Javascript,Jquery,Html,我有一个文本框,我在其中为回车键编写了按键功能,它应该显示警报 这是我的html和脚本 这是我的文本框: <li> <input type="text" class="fi_top" placeholder="Howdy" id="howdy" value=""> </li> 但当我在文本框中按enter键时,我并没有得到提示 我所犯的错误是什么?我该如何解决这个问题?嘿,你应该试试这样的keypress事件 $("#howdy").keypress(fun

我有一个文本框,我在其中为回车键编写了按键功能,它应该显示警报

这是我的html和脚本

这是我的文本框:

<li>
<input type="text" class="fi_top" placeholder="Howdy" id="howdy" value="">
</li>
但当我在文本框中按enter键时,我并没有得到提示


我所犯的错误是什么?我该如何解决这个问题?

嘿,你应该试试这样的
keypress
事件

$("#howdy").keypress(function() {
  var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == '13') {
        callAjaxGetJoiningDate($(this).val());
        event.preventDefault()
    }
 });

嘿,你应该试试这样的
keypress
事件

$("#howdy").keypress(function() {
  var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == '13') {
        callAjaxGetJoiningDate($(this).val());
        event.preventDefault()
    }
 });
试一试

JS代码:

$( "#howdy" ).keypress(function( event ) 
{
  if ( event.keyCode == 13 ) {
  alert('okay');
}
});
请参见此

尝试

JS代码:

$( "#howdy" ).keypress(function( event ) 
{
  if ( event.keyCode == 13 ) {
  alert('okay');
}
});

请参见此

将其放置在document.ready块中,以便在加载整个dom后触发它。最终用defer属性标记脚本

您应该同时使用which和keyCode,因为它们并不适用于所有浏览器

$( "#howdy" ).keypress(function( event ) 
{
  if ( event.which == 13 || event.keyCode == 13) {
  alert('okay');
}
});

将其放置在document.ready块中,以便在加载整个dom后触发。最终用defer属性标记脚本

您应该同时使用which和keyCode,因为它们并不适用于所有浏览器

$( "#howdy" ).keypress(function( event ) 
{
  if ( event.which == 13 || event.keyCode == 13) {
  alert('okay');
}
});

我认为您是在HTML和.keypress中动态添加这个元素,它只对预加载的元素起作用。jQuery为动态添加的元素提供了$(document).on

$(document).on("keypress", "#howdy", function (e) {
    if (e.keyCode == 13 || e.which == '13') {
       //Do your work
    }
});

我认为您是在HTML和.keypress中动态添加这个元素,它只对预加载的元素起作用。jQuery为动态添加的元素提供了$(document).on

$(document).on("keypress", "#howdy", function (e) {
    if (e.keyCode == 13 || e.which == '13') {
       //Do your work
    }
});


尝试使用event.keyCode==13我刚才试过了。。但不起作用:(keyCode大写C。请参阅我的答案。您是在运行时添加元素还是加载了代码正在工作的页面内容,您是否将jquery库包含到页面中。下面是由您的代码创建的工作fiddle尝试使用event.keyCode==13I刚才尝试了too..但不起作用:你是在运行时添加元素还是加载了你代码正在工作的页面内容,你有没有将jquery库包含到你的页面中。这是你的代码在工作。我尝试了这个$('howdy').keyup(function(){alert('ok');});但不工作我尝试了这个$('howdy').keyup(function()){alert('ok');});但不工作KeyCode在旧IE中不工作,所以您应该同时使用这两种代码。它在fiddle中工作得很好,但在我的代码中它失败了,我正在寻找这个原因sri@Bizz你能提到你的浏览器名称和版本吗?它是最新的firefox,但是代码在单独的.js页面中,这很重要吗?keyCode在旧的IE中不起作用,所以你应该同时使用这两个。它在fiddle中运行良好,但在我的代码中它失败了,我正在寻找这个原因sri@Bizz你能提到你的浏览器名称和版本吗?它是最新的firefox,但代码在单独的.js页面中,这很重要吗?它工作得很好!我可以知道它不工作的原因吗?它工作得很好!我可以知道它不工作的原因吗??