>  기사  >  웹 프론트엔드  >  javascript 이벤트 위임_javascript 기술의 사용법과 이점에 대한 간략한 분석

javascript 이벤트 위임_javascript 기술의 사용법과 이점에 대한 간략한 분석

WBOY
WBOY원래의
2016-05-16 15:06:471240검색

이 글에서는 참고하실 수 있도록 자바스크립트 이벤트 위임의 사용법과 장점을 간략하게 소개합니다.

이벤트 위임: 버블링 원리를 사용하여 부모에 이벤트를 추가하여 실행 효과를 트리거합니다.
이점: 성능이 향상되었으며 새로 추가된 요소에는 이전 이벤트도 포함됩니다.
이벤트 객체: 이벤트 소스, 어떤 이벤트에 있든 상관없이, 조작하는 요소가 이벤트 소스라면

이벤트 소스 가져오기:
IE:window.event.srcElement

표준 에서: event.target target.nodeName 태그를 결정하는

다음과 같이 코드가 적용됩니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>

</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
window.onload=function ()
{
  var oUl=document.getElementById('ul1');
  var oBtn=document.getElementById('btn1');
  var iNow=5;
  //事件源的方法依然保留父级事件!
  oUl.onmouseover=function(ev)
  {
    var ev=ev||window.event;
    var target=ev.target||ev.srcElement;
    if(target.nodeName.toLowerCase()=='li')
    {
      target.style.background='red';
    }
  }
  oUl.onmouseout=function(ev)
  {
    var ev=ev||window.event;
    var target=ev.target||ev.srcElement;
    if(target.nodeName.toLowerCase()=='li')
    {
      target.style.background='';
    }
  }
  oBtn.onclick=function()
  {
    iNow++;
    var oLi=document.createElement('li');
    oLi.innerHTML=111*iNow;
    oUl.appendChild(oLi);
  }
}
</script>
</head>
<body >
<input type="button" value="添加" id='btn1'>
<ul id='ul1'>
  <li>11111</li>
  <li>22222</li>
  <li>3333333</li>
  <li>44444444</li>
  <li>66666666</li>
</ul>
</body>
</html>

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.