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 當前對象

相關文章
相關標籤/搜索