首页 > 开发 > 前端 > 正文

给js动态创建的对象绑定事件

2017-07-01 22:23:59  来源:慕课网

1、使用原生JS动态为动态创建的对象绑定事件

1-1、创建一个function,用来兼容IE8以下浏览器添加事件

function addEvent(el, type, fn) { 
  if(el.addEventListener){
  el.addEventListener(type,fn,false)
  }else if(el.attachEvent()){
  el.attachEvent('on' + type,fn,false)
  }else{
  return false
}
}

1-2、使用JS创建对象,调用上面的方法

function append(){
  var body=document.getElementsByTagName('body')[0];
  var btn=document.createElement('button');
  btn.type='button'

btn.innerHTML='测试'

  addEvent(btn,'click',function(){
  console.log(this.tagName)  //结果:BUTTON
})
body.appendChild(btn);
}

append() //执行append方法

2、使用jQuery为动态创建的对象绑定事件

var btn = document.createElement('button')
  $(btn).attr("type","button")
  $(btn).html('确定')
  $(btn).click(function(){
    console.log(this.tagName)  //结果:BUTTON
  })
  $("body").append(btn)