2017-04-03 52 views
0

我想處理代碼時,用戶鍵入@像facebook標記。當用戶輸入@abc,然後處理事件。這是我的代碼:事件按鍵jquery當匹配一個特殊字符

$("#content").keypress(function(e) { 
      var tmp = $("#content").val(); 
      if(tmp =="@") 
      { 
      console.log("It working"); 
      } 
     }); 

UPDATING

這樣的代碼:

$("#content").keypress(function(event) { 
      var tmp = $("#content").val(); 
      if(tmp.indexOf('@') !== -1) 
      { 
      console.log("It's working"); 
      } 
     }); 

它的工作,當我與任何系統字符輸入@,但是當我鍵入(空間),它也工作,我嘗試停止事件時,用戶輸入(空間)後,在任何東西。

+1

使用'keyCode'來檢查是否按下某個鍵。 [jQuery:如果鍵「someKey」按下](// stackoverflow.com/q/8573795) – Tushar

+1

不應該是tmp ==='@abc'如果你正在檢測@abc? – SCLeo

+0

[觸發@mention自動填充如Facebook,Twitter和Google +](// stackoverflow.com/q/9870650)和[Twitter/Facebook \ @mention功能與​​jQuery](// stackoverflow.com/q/6487625) – Tushar

回答

1

最好的解決辦法是:

$("#content").keypress(function(e) { 

    if (e.which == 64) { 
     console.log("It working"); 
    } 
}); 

希望它可以幫助!!!!!!

+0

是的,這是工作,這麼簡單! –

0

它的工作很好,因爲條件是:

if(tmp == "@") 
{ 
    console.log("It working"); 
} 

它匹配只@。如果你想匹配類似@abc@def組合樣的字符串,然後使用REGEX

+0

我正在更新我的問題,謝謝! –

0

在這裏,我讓fiddle

$("#content").keypress(function(e) { 
      var tmp = $("#content").val(); 
      if(tmp.charAt(0) ==="@") 
      { 
      console.log("It working"); 
      } 
     }); 
+0

我正在更新我的問題,謝謝! –

0

這裏更新工作codepen。 您每次需要使用valuestring.charAt(0)。此

+0

我正在更新我的問題,謝謝! –

+0

@LucyVo我已更新codepen。請現在檢查,這可能會幫助 –