Page 1
文本框输入,p标签的内容自动变成文本框的内容
/**
* 使用addEventListener
* 首先获取标签和文本框的元素,然后为文本框添加一个监听器,在发生改变时,更改p标签的文本
*
**/
<input type="text" id="onchange" value="input">
<p id="on_change">input</p>
<script>
const input = document.getElementById('onchange');
const p = document.getElementById('on_change');
input.addEventListener('input', function () {
p.textContent = input.value;
});
</script>
/**
* 使用onchange和oninput
* onchange:在修改失去焦点时触发
* oninput: 会在元素发生变化时立即触发
*
**/
<div id="div1"><!--非vue-->
JS的onchage事件:
<input type="text" id="t1" onchange="p1()">
<p id="pp">原始值</p>
</div>
<script>
function p1(){
var lb_p=document.getElementById("pp");
var txt_t1=document.getElementById("t1").value;
lb_p.innerHTML=txt_t1;}
</script>
<div id="div2"><!--非vue-一些ie低版本不支持-->
JS的oninput事件:
<input type="text" id="t2" oninput="p2()">
<p id="pp2">原始值</p>
</div>
<script>
function p2() {
var lb_p=document.getElementById("pp2");
var txt_t2=document.getElementById("t2").value;
lb_p.innerHTML=txt_t2;
}
</script>
oninput 和 onchange 是事件属性,addEventListener 是方法,可以添加多个事件监听器
个人理解:
oninput 和 onchange是直接的事件,触发这个事件时调用他指定的方法,
而 addEventListener 添加的监听器中,第一个参数指定事件,后面的参数是调用的方法。
/**
* 在 react 中实现
*
**/
function App() {
const [text, setText] = useState('');
const handleChange = (event) => {
setText(event.target.value);
};
return (
<div>
<input type="text" value={text} onChange={handleChange} />
<p>{text}</p>
</div>
);
}数组与树的相互转换
手写promise.all
大数相加
Last updated