2013-06-24 39 views
1
<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("a").click(function (event) {   
      event.preventDefault(); 
      alert('disabled'); 
     }); 
    }); 
</script> 
</head> 
<body> 
<a href="/">Go to dotnetheaven.com </a> 
</body> 
</html> 

這裏(http://api.jquery.com/event.preventDefault/),它是說:如果此方法被調用時,事件的默認動作不會被觸發。試圖瞭解event.preventDefault jQuery中

問:

上面的代碼,該事件意味着 '喀嗒'? '默認操作'是打開網址?我的理解是否正確?因爲我想知道爲什麼警戒仍然在event.preventDefault()後出現。

+2

是的,單擊錨點的默認操作是導航到其「href」。 – Jon

+1

'alert'不是默認的操作,那爲什麼不顯示呢? :-) –

+0

@KnutMarius [return false和preventDefault不是一回事](http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false) – jbabey

回答

2

默認操作是打開URL。

event.preventDefault()會阻止這一點。

alert()不是默認操作,這是您指定的操作(正如您將其放入click事件處理程序中一樣)。所以這仍然會起作用。

2

對於上面的代碼,事件的意思是'點擊'? '默認操作'是 打開URL?我的理解是否正確?

是。

因爲我想知道爲什麼警告仍然顯示在 event.preventDefault()之後。

功能仍將執行的其餘部分,event.preventDefault()回報。

1

默認行爲是將location.href更改爲/,這是使用.preventDefault()阻止的,您的事件處理程序將在阻止默認操作後繼續執行。