我有一个tizen Web应用程序,它有多个输入字段。当用户点击div滚动到底部并且输入抽屉出现的任何输入时。因此用户无法看到输入字段。我该如何防止这种情况?
我试过用这个:
$('input').bind('focusin focus', function(e){
e.preventDefault();
});
它没有用。
编辑: 这是一个示例部分:
<div class="ui-page" id="">
<div class="ui-header">
<h1 class="ui-title">Header</h1>
</div>
<div class="ui-content" id="history">
<ul data-role="listview">
<li><span>Input 1:</span>
</li>
<li>
<input type="tel" id="input1" style="background-color: #d1d1d1;">
</li>
<li><span>input 2:</span>
</li>
<li>
<input type="number" id="input2" style="background-color: #d1d1d1;">
</li>
<li><span>Input 3</span>
</li>
<li>
<input type="number" id="input3" style="background-color: #d1d1d1;">
</li>
</ul>
<input class="ui-btn" type="button" onclick="done_click()" value="Done">
</div>
</div>
答案 0 :(得分:1)
试试这个
以下代码将自动滚动到焦点上的输入。
$('input').bind('focusin focus', function(e){
var $input = $(this);
$('html,body').stop().animate({ scrollTop: $input.offset().top } , '500', 'swing');
});
我甚至会设置offset - 25
,以提供良好的可见性,并在顶部创建一些空间。你可以稍后调整一下。
如果这不起作用,请尝试设置超时:例如。
$('input').bind('focusin focus', function(e){
var $input = $(this);
setTimeout(function(){
$('html,body').stop().animate({ scrollTop: $input.offset().top } , '500', 'swing');
}, 345);
});