如何使用jquery启动输入文本框按键事件而不键入

时间:2017-06-14 11:21:38

标签: jquery events keypress

我想在没有输入的情况下使用jquery启动输入文本框keypress事件 看一下这个片段:

var e = jQuery.Event("keypress");
e.keyCode = $.ui.keyCode.ENTER;
$("input").trigger(e);

这是想要的吗? 但那些代码有错误:

  

无法阅读属性'哪些'不受欢迎的

如何绕过该错误并使用jquery启动输入文本框keypress事件而不键入?

<小时/> 我也试过这个:

$('#input').val('string');
$('#input').keypress();

相同错误

2 个答案:

答案 0 :(得分:1)

$.ui.keyCode工作,您需要加入jquery-ui.js

没有jquery-ui

$(function(){
  var e = $.Event("keypress");
  e.which = 13;
  $('input').trigger(e);
});

$('input').on('keypress',function(e){
  if(e.which==13)
    alert('Enter pressed automatically');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />

使用jquery-ui

$(function(){
  var e = $.Event("keypress");
  e.which = $.ui.keyCode.ENTER;
  $('input').trigger(e);
});

$('input').on('keypress',function(e){
  if(e.which==13)
    alert('Enter pressed automatically');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/>

<input type="text" />

答案 1 :(得分:1)

将此解决方案与jquery一起使用

&#13;
&#13;
$(document).ready(function() {
    var e = $.Event("keypress", {which: 13});
    $('input').trigger(e);
});
$('input').on('keypress',function(e){
    console.log(e.which+' -- KeyPress event Fired');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
&#13;
&#13;
&#13;