javascript动态绑定事件用法
来源:互联网 发布:java中日期格式的转换 编辑:程序博客网 时间:2024/04/29 20:14
最近用到了javascript动态绑定,谈一谈个人的理解。以button的click事件为例来说明,在不同类型浏览器中用法不一样。
先上代码, 这是IE中用法,不同浏览器中差别是在如何绑定click事件上。
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>click动态绑定</title>
</head>
<body>
<input id="txtCity" City="txtCity" type="text" />
<script type="text/javascript">
function setCity()
{
var txtCity=document.getElementById("txtCity");
txtCity.setAttribute("value","中国");
}
var btn=document.createElement("input");
btn.setAttribute("type","button");
btn.setAttribute("value","动态绑定测试");
btn.onclick=setCity;
document.body.appendChild(btn);
</script>
</body>
</html>
在IE下用法:
用法1:btn.onclick=setCity;
用法2:btn.setAttribute("onclick",function(){
var txtCity=document.getElementById("txtCity");
txtCity.setAttribute("value","中国");
}) ;
用法3:btn.setAttribute("onclick",setCity);
用法4:btn.attachEvent("onclick",setCity);
firefox或chrome下用法:
用法1:btn.setAttribute("onclick","setCity()"); //注意setCity后面的括号不要忘记写。
用法2:btn.addEventListener("click",setCity,false);
注意:chrome下用法btn.setAttribute("onclick","setCity()"); 在用于Chrome扩展程序开发时会失效(至于Chrome扩展程序如何开发网上有一些介绍,这里不赘述。)
我把上面脚本做点修改使之能较方便作为Chrome扩展程序安装,新建一个脚本文件test.js,然后在里面写入以下脚本。
function setCity()
{
alert('jj');
}
var btn=document.createElement("input");
btn.setAttribute("type","button");
btn.setAttribute("value","动态绑定测试");
btn.setAttribute("onclick","setCity()");
document.body.appendChild(btn);
然后把test.js安装到Chrome扩展程序中会发现单击按钮没有反映,为何会这样,目前还不清楚,有知道的朋友可以做一个补充说明。
- javascript动态绑定事件用法
- JavaScript:按钮事件动态绑定
- JavaScript动态添加|绑定事件
- html javascript 转移字符 单引号 双引号 动态事件绑定
- javascript动态生成按钮并绑定点击事件
- JavaScript为动态生成的标签绑定事件-参数
- (Listitem)动态绑定事件
- javsciprt动态绑定事件
- js动态绑定事件
- Jquery动态绑定事件
- 动态绑定按钮事件
- 动态事件绑定
- Jquery动态绑定事件
- 5 动态事件绑定
- jQuery动态事件绑定
- jquery动态绑定事件
- jq 动态绑定事件
- jQuery动态绑定事件
- Android中发送邮件
- 每日雕蟲一技[2013-01-30][dataURL for effective non-caching]
- RTMP协议中的AMF数据
- VC Debug与Release区别
- 动态链接库、静态库区别与VS2005项目相关设置
- javascript动态绑定事件用法
- [简单多线程控制]_[模拟杀毒软件线程控制]
- ActiveX控件之制作图片属性页
- httpclient
- android缓存策略
- JDK Tools and Utilities
- 为什么Android应用开发总要比iOS晚?
- 批量还原数据库
- rtmp协议简单解析以及用其发送h264的flv文件