JavaScript阻止默认跳转

************************阻止默认行为*************************html

IE: event.returnValue = false;程序员

FF: e.preventDefault();浏览器


兼容: return false; //使用这种方式绑定的时候必定要加returndom


<a href="http://www.baidu.com" onclick="return test(event);">跳到百度1</a>函数

 

一.超连接的默认行为-跳转this

 

<a href="http://www.baidu.com" onclick="return test(event);">跳到百度1</a>htm


a标签.onclick = function(){对象

return test(event);
}事件


二.阻止右键菜单弹出get


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 当前对象

相关文章
相关标签/搜索