點一下
點兩下
function returnFase(){ alert("aaaa"); return false; }
$("#a").attr("onclick", "returnFase()"); // 方式 1
$("#b").click(returnFase); // 方式 2
| 方式 | 機制 | 返回值流向 |
|---|---|---|
attr("onclick", "returnFase()") | 直接設定 HTML 屬性字串 | 函數返回值 未傳回 給事件處理器,等同 onclick="returnFase();" 缺少 return |
click(returnFase) | jQuery 事件系統綁定 | jQuery 內部呼叫處理函數,若返回 false,自動執行 event.preventDefault() + event.stopPropagation() |
$("#a").attr("onclick", "return returnFase()"); // 加上 return
.on("click", handler) / .click(handler),避免字串拼接。false 即可阻擋預設行為,無需手動 event.preventDefault()。$("#a").click(function(){ return returnFase(arg); });。「上面的標簽你只是覆蓋了單擊事件,但事件點擊後沒有把 false 這個值返回給對象... jquery 的 click 時,是指明了對象的,click 的返回值會直接反饋給對象」