2015-05-08 71 views
2

下面是我禁用ENTER按鈕的代碼。如何啓用按鍵事件,如果它已被禁用jquery

$(document).ready(function() { 
    $(window).keydown(function (event) { 
     if ((event.keyCode == 13) && ($('#btnsubmit').disabled)) { 
      event.preventDefault(); 
      return false; 
     } 
    }); 

在某些情況下,我想啓用它並希望ENTER鍵按預期工作。有人可以幫我解決這個問題嗎?

+0

您可以使用jQuery的'on'和' off'來啓用和禁用事件 – Tushar

+0

Tushar,請您詳細說明一下嗎? – SPradhan

+0

api.jquery.com/on http://api.jquery.com/off/閱讀這些 – Tushar

回答

0

使用標誌的方法:

var enterDisabled = true; 
 

 
$(document).ready(function() { 
 

 
    $(window).keydown(function(event) { 
 
    // check if enterDisabled flag is on and disable enter 
 
    if (enterDisabled && (event.keyCode == 13) && ($('#btnsubmit').prop('disabled'))) { 
 
     alert("enter is disabled"); 
 
     event.preventDefault(); 
 
     return false; 
 
    } 
 
    }); 
 
    $("#enterToggler").click(function() { 
 
    enterDisabled = !enterDisabled; 
 
    $("#status").text(enterDisabled); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="submit" id="btnsubmit" value="submit" disabled="disabled" /> 
 
<button id="enterToggler">Toggle Enter</button> 
 
<br/>Enter Disabled: <span id="status">true</span>

只需將持平至假,當你需要的輸入工作...

+0

這是個好主意。但我想,它將在頁面重新加載後起作用。如果我們必須在沒有頁面重新加載的情況下切換,它會工 – SPradhan

+0

@SPradhan默認情況下,您可以聲明'enterDisabled'爲true,因此輸入將始終被禁用。然後您可以隨時隨地將其切換爲「true」/「false」,只需記住在全局範圍內(在所有函數之外)聲明該標誌,以便可以從腳本中的任何位置訪問該標誌。 – Banana

+0

在禁用ENTER時,可以根據標誌變量進行檢查。但是,難道我不必編寫腳本來獨佔其他方法嗎?如果我錯了,請糾正我。 – SPradhan

相關問題