JavaScript阻止默認跳轉


************************阻止默認行為*************************

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM