************************阻止默认行为*************************
IE: event.returnValue = false;
FF: e.preventDefault();
兼容: return false; //使用这种方式绑定的时候一定要加return
<a href="http://www.baidu.com" onclick="return test(event);">跳到百度1</a>
一.超链接的默认行为-跳转
<a href="http://www.baidu.com" onclick="return test(event);">跳到百度1</a>
a标签.onclick = function(){
return test(event);
}
二.阻止右键菜单弹出
document.oncontextmenu = function(e){
//阻止默认行为的代码
}
三.阻止表单的默认行为-提交
************************事件对象************************
对当前事件的一个具体描述 封装到事件对象中,类似异常对象
一.xhtml 绑定方式
1. IE
用户单击按钮, 单击事件产生后 IE浏览器会隐式的创建一个事件对象 event
它是全局变量, 可以直接使用event 或 window.event来访问
2. FF
第一种绑定方式 火狐并不会隐式创建事件对象,需要程序员主动的给事件处理函数传入一个事件对象event
二. dom 绑定方式
1.IE
和第一种绑定方式一样
2.FF
也会隐式的创建事件对象, 只不过这个事件对象 不是全局变量 , 作为事件处理函数的第一个参数传递过来的
************************获得事件对象的第二种方式(了解)************************
e = e||event
************************演示: 小球移动************************
**********************************事件源************************
第一种方式
function getEventSource (e) {
var eventSource = null;
if(document.attachEvent){
eventSource = event.srcElement;
}else{
eventSource = e.target;
}
return eventSource;
}
第二种方式(了解)
e=e ||event;
eventSource = e.srcElement || e.target;
第三种 this
*****************************************this********************************************
一. 普通函数中
this 指向的是 window 对象
二.用在事件处理函数中
指向是事件源
如果是第一种绑定方式 在事件处理函数 test() 中 打印this 把test()函数当做普通函数用的...
三. 如果用在自定义类中
this 当前对象