2016-06-08 73 views
0

問題陳述:我已經實現在this堆棧溢出的答案描述,試圖在用戶在文本<input>捕捉接聽鍵的按下代碼。該代碼用於捕獲輸入按鍵,但是,在按下輸入鍵後,功能體繼續運行。實質上,只要按下回車鍵,該功能就會無限運行。 這樣做的理想行爲是讓用戶按下回車鍵,然後使用一次捕獲<Enter>按而在輸入字段觸發多次

有什麼我試圖解決我的問題?

以下是我原來的jQuery。

$(function(){ 
    $("#maininput").keyup(function (e) { 
     if (e.keyCode == 13) { 
      alert("Enter was Pressed while in input ")  
     } 
    }); 
}); 

按下Enter鍵後,它無限地運行。因此,我開始尋找更多堆棧溢出條目,並且發現了諸如this這樣的線索,其討論使用return falsee.preventDefault()。我試圖實現return false,並且具有下面的代碼:

$(function(){ 
    $("#maininput").keyup(function (e) { 
     if (e.keyCode == 13) { 
      alert("")  
     } 
     return false; 
    }); 
}); 

然而,即使是return false沒有解決它。然後,我用e.preventDefault()替換了return false,那沒有奏效。 JSFiddle可以在here找到。

我的代碼出了什麼問題,我該如何修復它?

+0

的小提琴在工作(不循環)。也許你可以添加更多的小提琴來複制你的問題,並在這樣做,你會找到問題:) – bflemi3

+0

哦......我看到了怎麼回事......(現在我必須弄清楚如何防止它) – intboolstring

+0

如果你仍然需要幫助,請發佈你的發現,你一定會得到答案 – bflemi3

回答