Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 使用输入类型时=";电话:;在手机上,如何更改enter键的功能?_Javascript_Jquery_Html_Jquery Mobile_Mobile - Fatal编程技术网

Javascript 使用输入类型时=";电话:;在手机上,如何更改enter键的功能?

Javascript 使用输入类型时=";电话:;在手机上,如何更改enter键的功能?,javascript,jquery,html,jquery-mobile,mobile,Javascript,Jquery,Html,Jquery Mobile,Mobile,我有一个框type=“tel”,当用户在手机上输入一个号码并按enter键时,我想将焦点转移到选择框。但我不认为手机上有enter键,我认为该键更像是next键,但我不知道确切的键是什么。此代码适用于web浏览器,但在我的手机上,按next(下一步)键总是将焦点转移到next(下一步)框 <input type="tel" name="load1" id="load1" maxlength="4" size="7" onkeydown="if (event.keyCode == 13)

我有一个
type=“tel”
,当用户在手机上输入一个号码并按enter键时,我想将焦点转移到选择框。但我不认为手机上有enter键,我认为该键更像是next键,但我不知道确切的键是什么。此代码适用于web浏览器,但在我的手机上,按next(下一步)键总是将焦点转移到next(下一步)

<input type="tel" name="load1" id="load1" maxlength="4" size="7" 
onkeydown="if (event.keyCode == 13) document.getElementById('numOfReps1').focus()">
<select id="numOfReps1" style="width:75px">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option selected="selected" value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
      </select>

1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
我认为我的问题来自于
事件。keyCode==13
,因为移动版没有回车键,但我不知道真正的键是什么。

更新 当用户点击“完成”按钮时,事件被触发。根据jQuery文档,和
focusout
之间的区别在于后者支持事件冒泡;与前一个事件不同,前一个事件在父元素收到事件后激发

当某个元素或其中的任何元素失去焦点时,focusout事件被发送到该元素。这与模糊事件不同,因为它支持检测父元素的焦点丢失(换句话说,它支持事件冒泡)

-
聚焦输出
(1)


下一步、上一步和完成移动按钮没有
e.which
e.keyChar
。相反,您可以使用
blur
事件并检查
type=tel
是否输入了值。如果为true,则在您想要的任何项目上触发
focus
,如果不为true,则默认情况下会转到下一个元素

$(document).ready(function () {
  $("#load1").on("blur", function (e) {
    if(!$(this).val() == "") { /* input isn't empty, move to target */
      $("#numOfReps1").trigger("focus");
    }
  });
});
我不知道您使用的是jQuery Mobile,如果您正在使用它,请将
.ready()
替换为
pageinit

$(document).on("pageinit", function () {
  /* code */
});
-
模糊
(1)


(1) 在Safari Mobile上测试-iPhone 5

您使用的是jquery Mobile吗?
$(document).on("pageinit", function () {
  /* code */
});