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