我想要做的就是改变他为iPad上的下一个键返回键我已经尝试过的HTML表单
$(document).ready(function(){
$("input").not( $(":button") ).keypress(function (evt) {
if (evt.keyCode == 13) {
iname = $(this).val();
if (iname !== 'Submit'){
var fields = $(this).parents('form:eq(0),body').find('button, input, textarea, select');
console.log(fields);
var index = fields.index( this );
if ( index > -1 && ( index + 1 ) < fields.length ) {
var id = fields.eq( index + 1 ).attr("id")
alert("document");
document.getElementById(id).focus();
alert("without 0");
$("#"+id)[0].focus();
$("#"+id)[0].click();
alert("with 0");
$("#"+id)[0].focus();
}
return false;
}
}
});
});
但这在iPad上不起作用我读到苹果不会通过焦点或点击jquery事件打开键盘,以避免偶尔弹出键盘而没有用户的正确交互(点击触摸)。另外,这在浏览器中正常工作。
这也有Go按钮而不是“Next”我想要的是当用户点击Next键时它应该关注我表单的下一个输入字段
我也试过
$(document).ready(function () {
var focused = $('input:first'); //this is just to have a starting point
$(document).keypress( function (e) {
if (e.keyCode == 13) {e.preventDefault();alert("keyPressed");
focused.next('input').trigger('touchstart'); //trigger touchstart
}
});
$('input').on('touchstart', function () {
$(this).focus();
focused = $(this);
});
});
但这完全适用于自定义输入按钮,但不适用于Return / Go按钮,我特别希望iPad上的Return / G按钮具有此功能
答案 0 :(得分:0)
IOS / Safari仅在触摸事件处理程序内“接受”焦点。解决方法可能是,您可以触发触摸事件并在其中插入.focus()。像这样的东西。
使用:强>
document.getElementById(id).trigger('touchstart');
//or
$('#'+id).trigger('touchstart');
代替:
document.getElementById(id).focus();
Touchstart事件 -
$('input').on('touchstart', function () {
$(this).focus(); // inside this function the focus works
focused = $(this);
});
<强> Demo 强>