最近突然要用到JS脚本动态给元素添加事件。如TextBox的onclick事件。但有的onclick事件原先已经定义了相应代码!
这里又不能替代原有方法,而JS脚本里面有个方法可以给控件在原有事件的基础上进行添加!同时又查了一下如何去掉之前的预定义的事件;

<html>
<script language="javascript">
function set()
{
var obj = document.getElementById("fy"); //obj.attachEvent('onfocus', add); //在原先事件上添加
//obj.setAttribute('onfocus',add); //会替代原有事件方法
//obj.onfocus=add; //等效obj.setAttribute('onfocus',add); if(window.addEventListener)
{
//其它浏览器的事件代码: Mozilla, Netscape, Firefox
//添加的事件的顺序即执行顺序 //注意用 addEventListener 添加带on的事件,不用加on
obj.addEventListener('focus', add, false);
}
else
{
//IE 的事件代码 在原先事件上添加 add 方法
obj.attachEvent('onfocus',add);
}
}
function add(){alert("已经成功添加事件");}
</script> <body>
<input type="text" onfocus="alert('预设事件');" id="fy" />
<input type="button" onclick="set();" value="sssss"/>
</body>
</html>
//自定义一个函数,可以直接使用
var oBtn = document.getElementById('btn1');
if (oBtn.attachEvent) { //IE 中
oBtn.attachEvent('onclick',function () { alert('a') };
 oBtn.attachEvent('onclick',function () { alert('baa') };
}else {
//firefox googleChorme
oBtn.addEventListener('click', function () { alert('a') }, false);
oBtn.addEventListener('click', function () { alert('b') }, false);
}
//为了代码好看一点,写一个代码封装判断兼容性
function myAddEvent(obj, ev, fn) {
  if (obj.attachEvent) {
    obj.attachEvent('on' + ev, fn);
  }else{
    obj.addEventListener(ev, fn, false);
  }
}

 注意:attachEvent在ff 和chrome 却用不了  在 ff和chrome是用addEventListener,  它们是click  而IE中是onclick

  

最新文章

  1. [LeetCode] Perfect Rectangle 完美矩形
  2. C#设置输入框只输入数字
  3. 第二天----列表、元组、字符串、算数运算、字典、while
  4. 【emWin】例程九:绘制流位图
  5. 动态获取项加入到SQL中去统计
  6. java的面向对象
  7. Service的两种用法及其生命周期
  8. 【转】Visual Studio项目相对路径的设置,实用
  9. ios游戏开发--cocos2d学习(1)
  10. jquery在线引用的地址
  11. netstat 命令state值
  12. jquery 手机 图片切换 例子 网址
  13. iOS Developer Libray (中文版)-- About Objective-C
  14. Developing Universal Windows Apps 开发UWA应用 问答
  15. ESP8266重点知识
  16. JavaScript 再谈闭包
  17. 想了解SAW,BAW,FBAR滤波器的原理?看这篇就够了!
  18. 我的代码库-Java8实现FTP与SFTP文件上传下载
  19. CF1000G
  20. redis的一命令

热门文章

  1. linux 查询搜索文件指令
  2. HDU1025贫富平衡
  3. CSS 基础 例子 定位及z-index
  4. centos7 搭建WEB服务器
  5. (原创)c++中的类型擦除
  6. Excel中单元格、超级链接形成超级链接单元格
  7. spark-mllib 密集向量和稀疏向量
  8. 你所不知道的ASP.NET Core MVC/WebApi基础系列 (二)
  9. WPF学习笔记(4):获取DataGridTemplateColumn模板定义的内容控件
  10. Python 生成器, 迭代器, 可迭代对象的区别