簡體   English   中英

當輸入復選框集中在jQuery中時,如何禁用退格鍵?

[英]How do I disable backspace when input checkboxes are focused on in jQuery?

當輸入checkboxes集中在jQuery中時,如何禁用退格按鈕? checkboxes處於checkboxes狀態並且我按退格鍵(keycode = 8)時,瀏覽器認為我正在嘗試返回頁面,並將退格鍵用作history.go(-1)命令。

$("div#types input").focus(function(){
  window.onkeydown = function(e){
    return !(e.keyCode == 8);
};

好吧,這將始終阻止退格按鈕向后導航:

$(document).keydown(function(e) {
  if (e.keyCode === 8)
  {
     return false;
  }
});

現在要弄清楚如何僅在選中復選框時才運行此命令...

編輯:

弄清復選框是否具有焦點的問題在於,只有將其制表或設置為代碼后,它才能獲得焦點。 如果單擊它,將選中它,但實際上它不會聚焦(至少在chrome / safari中)。 這一切都取決於您如何設置焦點。

編輯2:

要使您的復選框在單擊時具有焦點,只需添加以下內容:

$('input[type=checkbox]').click(function() {
   $(this).focus();
});

...因此將它們放在一起,會使復選框集中於單擊並在復選框具有焦點時停止退格按鈕(當然,所有這些都在$(document).ready函數中):

$(document).keydown(function(e) {
    if (e.keyCode === 8 && $('input[type=checkbox]:focus').size() > 0)
    {
       return false;
    }
});

$('input[type=checkbox]').click(function() {
    $(this).focus();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM