所以,我有一个输入类型=文本作为搜索。
搜索,自动滚动到长列表中找到的项目(因此输入在屏幕外),但是当我继续键入时,跳转到第一个找到的结果后,它会返回输入的位置。我想避免这种行为。
https://jsfiddle.net/ptjnr93q/
请参阅上面的jsfiddle。
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<select class="" data-bind="options:formatArray(),optionsText:'text',value:formatArrayDefault"></select>
&#13;
var cont = 0;
var fill = "test";
for (cont = 0; cont < 1000; cont++) {
$("body").append(fill + "<br>");
console.log("e");
}
$("input").bind('focusin focus', function(e){
e.preventDefault();
});
&#13;
答案 0 :(得分:1)
我提出了另一种实现目标的方法,即保持向下滚动的位置不变。
var cont = 0;
var fill = "test";
for (cont = 0; cont < 1000; cont++) {
$("#resultSet").append(fill + cont + "<br>");
//console.log("e");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="search">
<br>
<div id="resultSet" style="height:200px; overflow:scroll;"></div>