匹配特殊字符时事件按键jquery

时间:2017-04-03 04:10:52

标签: javascript jquery

当用户键入@ like facebook tag时,我正在尝试处理代码。当用户输入@abc时,则处理事件。这是我的代码:

$("#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");
          }
        });

当我用任何字符键入@时,它正在工作,但是当我键入(空格)时,它也有效,我尝试在@之后用户键入(空格)时停止事件任何东西。

4 个答案:

答案 0 :(得分:1)

最佳解决方案是:

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

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

希望它有所帮助!!!!!!

答案 1 :(得分:0)

它的工作正常,因为条件是:

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

仅匹配@。如果您想匹配@abc@def组合类型的字符串,请使用REGEX

答案 2 :(得分:0)

我在这里为您制作fiddle

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

答案 3 :(得分:0)

这是更新后的工作codepen。 您需要每次都使用valuestring.charAt(0)