jQuery的 unbind 方法並不能解除超鏈接(即a標籤)的click事件,如果想讓超鏈接的默認click事件不發生需要如下處理:
- $('#some-link-id').click(function (event)
- {
- event.preventDefault();
- });
- // or
- $('#some-link-id').click(function ()
- {
- return false;
- });
這樣重寫了超鏈接的click事件出發的動作後,可以在爲這個超鏈的click動作綁定其他事件。比如我就需要讓打開的窗口最大化,所以我就會這麼做(在執行了上面的某種解除默認動作的代碼後):
- $('#some-link-id').click(function(){
- var href = j(this).attr('href');
- window.open(href,'','channelmode=yes,fullscreen=yes,menubar=yes');
- });
參考內容:
- W3C School 中文 HTML DOM open() 方法
- stackoverflow.com How to unbind a hyperlink with jQuery