海纳百川

事件代理

2018-07-10  本文已影响0人  凛冬已至_123

javascript和jQuery的事件代理不同写法

首先思考一下:为什么我们要用到事件代理???

<div class="box">
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
  </ul>
</div>
<input id="ipt" type="text"> <button id="btn">添加</button>
<div id="wrap">
</div>
<script>
$('#btn').on('click', function(){
  var value = $('#ipt').val()
  $('.box>ul').append('<li>'+value+'</li>')
})
</script>

JavaScript


document.querySelector('.box ul').addEventListener('click', function(e){
  console.log(e.target)
    if(e.target.tagName.toLowerCase() === 'li'){
        document.getElementById('wrap').innerText=e.target.innerText
    }
})

记住e.target.tagName.toLowerCase()

$('.box ul').on('click', 'li', function(){
  var str = $(this).text()
  $('#wrap').text(str)
})
上一篇下一篇

猜你喜欢

热点阅读