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

时间:2023-03-08 15:54: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='测试';btn.id='test';
  addEvent(btn,'click',function(){
  //触发click代码
  console.log('buton按钮')
})
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)

相关文章