2012-08-04 77 views
1

我所試圖做的是以下幾點: 我有一個輸入型按鈕,我想更換它的先點擊功能。JavaScript的按鍵功能互換

<input type="submit" class="submit-button" value="Submit" name="boom" /> 

所以一個[按鈕],其用於提交,我想告訴警惕一些jQuery插件,但允許正常的javascript警報(默認窗口)做在這裏。因此,對第一

點擊它會

alert('Something'); 

而且在第二次點擊它會默認功能(提交)。

我該如何做到這樣?

當然,如果按鈕被點擊一次,然後重新加載頁面,它會在第一個按鈕,點擊再次顯示相同的警報。

回答

4

使用one()

將處理程序附加到元素的事件。處理程序每​​個元素最多執行一次。

例子:

$(".submit-button").one("click", function(e) { 
    // will only run on first click of element 
    e.preventDefault(); 
    alert("Something"); 
}); 
1

試試這個:

<script type="text/javascript"> 
    var clicked = false; 

    function btnClick(e) { 
     if(clicked === false) { 
      alert('Something'); 
      clicked = true; 
      e.preventDefault(); 
      return true; 
     } else { 
      return false; 
     } 
    } 
</script> 

<input type="submit" onclick="btnClick(event)" class="submit-button" value="Submit" name="boom" /> 
+0

這一件作品太...感謝;) – dvLden 2012-08-04 20:09:28

+0

不一樣優雅的羅裏的解決方案,但它看起來像你想堅持到原始的JavaScript,所以我在回答中避免了jQuery。很高興你明白了! :) – 2012-08-04 20:14:50