我知道已經有很多關於這個概念的文章,但我的問題有一點點不同。我應該怎樣稱呼我的javascript。 href,點擊或綁定點擊事件?
在我的頁面上,我有一個鏈接:
<a id="mylink">click me </a>
然後我改變動態使用的href:它發生了,我必須多次調用上面的代碼,以便
$get('mylink').href = 'javascript:doSomething(id);';
我用javascript代碼用不同的id參數調用相同的函數來覆蓋href屬性的當前值。
以上是我現在用了很長時間。但是當我試圖實現OnNavigateAway以在用戶關閉瀏覽器窗口時發出警告時,混亂開始了。當用戶點擊具有href屬性值的錨時,IE也會觸發onNavigateAway事件。
於是我開始用jQuery的click事件來替換那些HREF的:
但請記住,這個代碼可以被多次調用,所以我必須先解除click事件,然後再次綁定:
function completed(result) {
$("#mylink").unbind('click');
$("#mylink").click(function (e) {
doSomething(result.id);
e.preventDefault();
});
}
這是處理我的JavaScript的好方法嗎?或者,這是否具有約束力,解除束縛不合適?
另一種方法可以使用javascript手動覆蓋onclick屬性。
你將如何處理?
我期待着您的回覆。
我得到你的意思,但我應該怎麼檢查如果點擊事件已被綁定?如果沒有,像你一樣綁定點擊事件? – ThdK 2012-04-17 11:01:41
@ThdK包裝在$(document).ready(function(){...})內''你應該沒有問題 - 除非鏈接以某種方式動態創建? – 2012-04-17 11:15:24
它是動態創建的。我已經更新了一下我的問題,所以你看到有一個函數被傳遞給響應參數。響應是一個包含id屬性的對象。 – ThdK 2012-04-17 11:20:46