前端学习

进阶任务9

2017-12-21  本文已影响14人  机智的大口袋

1.DOM0 事件和DOM2级在事件监听使用方式上有什么区别?

2.attachEvent与addEventListener的区别?

3.解释IE事件冒泡和DOM2事件传播机制?

4.如何阻止事件冒泡? 如何阻止默认事件?

5.有如下代码,要求当点击每一个元素li时控制台展示该元素的文本内容。不考虑兼容

<ul class="ct">
    <li>这里是</li>
    <li>饥人谷</li>
    <li>前端6班</li>
</ul>
<script>
    var ct=document.querySelector('.ct')
    ct.addEventListener('click',function(e){
    console.log(e.target.innerText)
    })
</script>

6.补全代码,要求:

<ul class="ct">
    <li>这里是</li>
    <li>饥人谷</li>
    <li>任务班</li>
</ul>
<input class="ipt-add-content" placeholder="添加内容"/>
<button id="btn-add-start">开头添加</button>
<button id="btn-add-end">结尾添加</button>
<script>
    var ct=document.querySelector('.ct')
    var ipt=document.querySelector('.ipt-add-content')
    var start=document.querySelector('#btn-add-start')
    var end=document.querySelector('#btn-add-end')
    ct.addEventListener('click',function (e) {
        if (e.target.tagName.toLowerCase()==='li'){
            console.log(e.target.innerText)
        }
    start.addEventListener('click',function () {
        var node=document.createElement('li')
        node.innerText=ipt.value
        ct.insertBefore(node,ct.firstChild)
        })
    end.addEventListener('click',function () {
        var node=document.createElement('li')
        node.innerText=ipt.value
        ct.appendChild(node)
        })
        })

7.补全代码,要求:当鼠标放置在li元素上,会在img-preview里展示当前li元素的data-img对应的图片。

<ul class="ct">
    <li data-img="http://cdn.jirengu.com/book.jirengu.com/img/11.jpg">鼠标放置查看图片1</li>
    <li data-img="http://cdn.jirengu.com/book.jirengu.com/img/13.jpg">鼠标放置查看图片2</li>
    <li data-img="http://cdn.jirengu.com/book.jirengu.com/img/14.jpg">鼠标放置查看图片3</li>
</ul>
<div class="img-preview"></div>
<script>
  var ct=document.querySelector('.ct')
  var preview=document.querySelector('.img-preview')
  ct.addEventListener('mouseover',function (e) {
      if(e.target.tagName.toLowerCase() === 'li'){
          var image = document.createElement('img')
          image.src = e.target.dataset.img
          preview.appendChild(image)
      }
  })
  ct.addEventListener('mouseout',function (e) {
      if(e.target.tagName.toLowerCase() === 'li'){
          preview.innerHTML = ''
      }
  })
上一篇 下一篇

猜你喜欢

热点阅读