<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
//點擊a標簽,不進行頁面跳轉
window.onload = function () {
var obj = document.getElementById("myhref");
obj.onclick = function (event) {
//取消默認行為
//return false;
//分瀏覽器
//IE下
//01.第一道能力檢測
event = event || window.event;
if (event.preventDefault) {
//非IE下
event.preventDefault();
} else {
event.returnValue = false;
}
};
}
</script>
</head>
<body>
<a id="myhref" href="http://www.baidu.com">去百度</a>
</body>
</html>
這里的a標簽的點擊效果本來是要跳轉到百度頁面的,但是我們通過參數取消默認行為的方式可以讓這個點擊事件的后續內容不執行。
有時候會遇到 同一個標簽上點擊后有多個事件,如果只想執行第一個事件而放棄后面的事件,可以加上一段代碼來阻止:
<span onclick="alert('后面的不會執行了!');event.stopPropagation();">click me!</span>
jquery怎阻止后綁定的事件
你的代碼在頁面載入過程中已經完成事件綁定了,沒有阻止后綁定的事件的辦法了,不過可以刪除當前指定節點的事件綁定。方法如下:
$("#btn").click(function(){
if($("#tx").val()==""){
alert("e1");
}else{
//刪除后綁定的事件。。。
$("#btn").unbind('click');
}
});
說明:
unbind([type],[data])
bind()的反向操作,從每一個匹配的元素中刪除綁定的事件。
如果沒有參數,則刪除所有綁定的事件。
你可以將你用bind()注冊的自定義事件取消綁定。
I如果提供了事件類型作為參數,則只刪除該類型的綁定事件。
如果把在綁定時傳遞的處理函數作為第二個參數,則只有這個特定的事件處理函數會被刪除。
jquery:怎可以阻止第二次點擊click事件?
jquery提供了一個只觸發一次點擊的方法
obj.one(function(){
});
或者用obj.unbind("click")取消點擊事件
