2016-09-17 69 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