oninput 事件在用户输入时触发。
该事件在 <input> 或 <textarea> 元素的值发生改变时触发。
提示: 该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen> 和 <select> 元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>纯函数</title>
</head>
<body>
<input type="text" name="ipt" id="ipt" value="" />
<script type="text/javascript">
//纯函数:不会对外界的参数产生影响
var personArr=[
{name:"张三"},
{name:"张四"},
{name:"李四"},
{name:"王五"},
{name:"赵六"},
{name:"孙八"},
{name:"孙久"},
{name:"王二"},
{name:"李刘"},
];
var ipt=document.getElementById("ipt");
ipt.oninput=function(){
console.log(filterByText(this.value,personArr));
}
function filterByText(text,arr){
var newArr=[];
for(var i=0;i<arr.length;i++){
arr[i].name.indexOf(text)!=-1?newArr.push(arr[i]):"";
}
return newArr;
}
</script>
</body>
</html>