博客列表 >js事件和字符串方法

js事件和字符串方法

手机用户1607314868
手机用户1607314868原创
2021年01月08日 19:55:51619浏览

事件监听

事件监听调用addEventListener属性。此监听可以添加多个事件,且不会被覆盖
删除事件监听调用removeEventListener属性。

  1. <button>按钮</button>
  2. <script>
  3. const btn=document.querySelector("button");
  4. const handle=()=>console.log(btn.innerHTML,"移除");
  5. btn.addEventListener("click",handle);
  6. btn.removeEventListener("click",handle);
  7. </script>
事件派发

不用调用,直接就执行了。

  1. const ev=new Event("click");
  2. btn.addEventListener("click",function(){
  3. console.log("自动执行了");
  4. });
  5. btn.dispatchEvent(ev);
事件传递

两种方式捕获,冒泡

  1. 捕获,从最外层元素逐级向内直到事件的绑定者 事件为true;
    2.冒泡:从目标再由内向外逐级向上直到最外层元素 事件为false;

    1. <style>
    2. #fu{
    3. background-color: yellow;
    4. width: 200px;
    5. height: 200px;
    6. }
    7. #zi{
    8. background-color: green;
    9. width: 50px;
    10. height: 50px;
    11. }
    12. </style>
    13. <body>
    14. <div id="fu">
    15. <div id="zi">
    16. </div>
    17. </div>
    18. <script>
    19. const fu=document.querySelector("#fu");
    20. const zi=document.querySelector("#zi");
    21. fu.addEventListener("click",function(ev){
    22. console.log(ev.currentTarget);
    23. },true);
    24. zi.addEventListener("click",function(ev){
    25. console.log(ev.currentTarget);
    26. },true);
    27. </script>
    28. </body>

    事件委托

如果元素太多,给父元素添加事件即可

  1. <ul>
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. </ul>
  6. <script>
  7. const ul=document.querySelector("ul");
  8. ul.addEventListener("click",function(ev){
  9. ev.target.style.color="red";
  10. });
  11. </script>

留言板

留言板点击留言删除

  1. <label for=""><input type="text" name="message"></label>
  2. <ol id="list"></ol>
  3. <script>
  4. const msg=document.querySelector("input");
  5. const list=document.querySelector("#list");
  6. msg.onkeydown=ev=>{
  7. //键盘事件中,key表示按下的键名
  8. console.log(ev.key);
  9. if(ev.key==="Enter"){
  10. if(ev.currentTarget.value.length===0){
  11. alert("内容不能为空");
  12. }else{
  13. let str=`<li>${ev.currentTarget.value}</li>`;
  14. list.insertAdjacentHTML("afterbegin",str);
  15. //清空上条数据
  16. ev.currentTarget.value=null;
  17. }
  18. }
  19. }
  20. //点击某条留言则删除
  21. list.addEventListener("click",function(ev){
  22. list.removeChild(ev.target);
  23. });
  24. </script>

字符串方法

  1. //slice(start,end)取子串
  2. let str="hello php.cn";
  3. let res=str.slice(0,5);
  4. //截取
  5. substr(start,length)
  6. res=str.substr(0,5);
  7. //trim()删除两边空格
  8. let psw=" root ";
  9. psw.trim();
  10. //字符串长度
  11. str.length;
  12. //查找字符串 某一个指定的字符首次出现的位置
  13. str.indexOf("hello");
  14. //替换内容replace("被替换","替换后的内容");
  15. str.replace("hello","morning");
  16. //大小写转换
  17. str.toUpperCase();//转为大写
  18. str.toLowerCase();//转为小写
  19. //转为数组
  20. str.split(" ");使用空格分隔
  21. //内容匹配,查找字符串中特定的字符,找到则返回这个字符
  22. str.match("hello");
  23. //复制字符串repeat(次数)
  24. str.repeat(2);
上一条:0107作业下一条:原型/类与dom操作
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议