2016-09-17 66 views
-1

我有一種使用鍵控功能進行提交的表單。請如何更改密鑰功能以點擊。如何更改按鍵功能以單擊javascript中的功能

我試過$('#btn').on('click',function(e){ 但無法使其正常工作。

下面是javascript的關鍵函數。

$(function(){ 


//$('#btn').on('click',function(e){ 


$('#username').on('keyup',function(e){ 
     var $this = $(this); 
     if(e.which === 13){ 
      var name = $this.val(); 
      socket.emit('new user', name, function(response){ 
       if(response){ 
        localStorage.setItem('username',name); 
        $this.val(''); 
        $('#userinfo').hide(); 
        $('#chat-body').fadeIn(); 

alert(name);  

        loadMessages(); //retrieve messages from Database 
       } else{ 
        $('.validation').text('Username taken!').fadeIn(); 
       } 
      }); 
     } 
    }); 


}); 

對於HTML我有這個

<input type="text" id="username" placeholder="type your name and press enter"> 
以下

被點擊按鈕我試圖添加

<button type="button" id="btn">send</button>  

感謝

+0

替換.click –

+0

@MuhamamdUsman僅供參考,'$ .fn.on'也是一樣添加事件偵聽器 – Hydro

+0

注意'event.which'上的檢查也需要更改 –

回答

3

確保去除e.which === 13條件,這是打破下一條指令在回調中執行。

0
$("#username").keyup(function() { 
     var $this = $(this); 
     { 
      var name = $this.val(); 
      alert("ciao"); 

     } 
} 

demo

不過,我不會發出對用戶enetered每個數字的情況下,爲了不堵塞中間件服務器。在開始活動之前,我會「等」一會兒。

+0

我想使用點擊功能而不是鍵控。就像這樣$('#btn')。on('click',function(){ – nackolysis

+0

你的目標並不清楚。添加一個點擊輸入以獲得相同的鍵控功能對我來說聽起來有些奇怪 – giuseppe