2012-06-08 28 views
8

代碼:可以在preventDefault()之後執行鏈接嗎?

$('#myLink').click(function (e) { 
    e.preventDefault(); 

    ... 

    if (someCondition) { 
     ... code ... 
    } else { 
     ... execute the link 
    } 
}); 

我想,如果someCondition是假的,執行鏈接的原始HREF(所以,去鏈接,改變頁面)。這可能嗎?

回答

5

只需推動preventDefault的if/else語句裏面:

$('#myLink').click(function (e) { 

    ... 

    if (someCondition) { 
     e.preventDefault(); 

     ... code ... 

    } else { 
     ... execute the link 
    } 
}); 
+2

取決於多久你的條件需要瀏覽可能會遵循到達那部分代碼前的原始鏈接。 – deweydb

+0

而且值得一個-1?大聲笑OK – Mottie

+3

是的,因爲答案是不正確的和誤導。 – deweydb

1

只要把條件內e.preventDefault();

12
$('#myLink').click(function (e) { 
    e.preventDefault(); 

    ... 

    if (someCondition) { 
     //do stuff 
    } else { 
     location.href = $(this).attr('href'); 
    } 
}); 
相關問題