JavaScript添加事件
2015-08-23 16:46
597 查看
问题引入:
在模仿某个网站的修改密码的时候,需要用到<a>这个标签来调用js函数,通过查找资料。要想成功调用,需要添加下面这些代码document.onkeydown =
function(e) {
<span style="font-size:14px;"> var ev = document.all ? window.event : e;//区分IE浏览器和其他浏览器对象时的常用写法,IE中的window.event的时间对象是全局对象 if (13 == ev.keyCode) {//当键盘或者按钮被按下时,发生keydowm事件 check(form); } }</span><span style="font-size:12px;"> </span>
在了解第一行代码的时候,发现了一个问题,就是关于JavaScript添加事件的相关知识点
详细描述:
下面描述四种添加时间的方式。前几种现在都已不用。但是还是了解下。1:直接在html的属性中写js代码
<div onclick="alert(4)">demo</div>:点击demo输出4
<div onclick="alert(window.event.type)">demo</div>点击demo输出click,说明获取了事件click,但这句话在有些浏览器中不行,比如说火狐浏览
器。不兼容。如果写成event.type就能输出。这是因为在火狐浏览器中定义了参数event,该参数恰好与IE的全局对象event重名
2:定义一个函数,赋值给html元素的onxxx属性
<script>
functin clk(){}
</script>
<div onclick="click()"><demo>
先定义函数clk,然后赋值给onclick属性
3:添加事件方式,使用addEventListener或IE专有的attachEvent
<div id="d3">demo</div>
<script type="text/javascript">
var d3=document.getElementById("d3");
function clk(){alert(4)};
if(d3.addEventListener){
d3.addEventListener('click',clk,false);
}
if(d3.attachEvent){
d3.attachEvent('onclick',clk);
}
</script>
这是目前推荐的方式,较前两种功能更强大,可以为元素添加多个响应函数,支持事件冒泡或捕获,前两种都是默认冒泡
总结如下
IE6/7/8支持通过window.event获取对象,通过attachEvent方式添加时间时也会支持时间对象作为句柄第一个参数传入
FireFox 只支持事件作为句柄第一个参数传入
IE9/Chrome。。。两种都支持
相关文章推荐
- [LeetCode][JavaScript]Course Schedule II
- JSON.parse()和JSON.stringify()
- javascript活动
- [LeetCode][JavaScript]Course Schedule
- JS的一些笔记
- js笔试题
- 【JavaScript基础知识】——数据类型与typeof操作符
- JavaScript高级
- JavaScript表单验证
- 排序图解:js排序算法实现
- 简单纯js实现点击切换TAB标签实例
- javascript函数
- jstl入门
- 《JavaScript DOM 编程艺术》读书笔记
- 用原生Javascript对象中的访问器属性实现双向数据绑定
- Gson补充
- JavaScript第二天总结
- gson使用教程-翻译5
- JavaScript第一天总结
- gson使用教程-翻译4