用 jquery 捕捉蜗牛
Capturing the snail with jquery
我想用 Ajax 创建一个标签系统。我会使用与 facebook 相同的系统,也就是说,当您按下滚动功能时,会激活自动完成各种朋友姓名。我的问题是:如何使用事件 "keydown" keyCode 和函数捕获 "at sign"?我感谢可能的帮助。
$(document).on("keydown",'.text-area-commento', function(e)
{
if(e.keyCode === 64)
{
alert("tag");
}
if(e.keyCode === 13)
{
var id_post = $(this).attr('id');
var message = $(".commento"+id_post).val();
if (e.shiftKey) {
$(this).val( $(this).val() + "<br>" );
}
else
{
....
}
}
}
@
的 Windows alt code 是 64。
@
没有键码。
这是因为你从不直接输入@
,你按Shift然后按2。
它们的关键代码分别是 16
和 50
。
为了捕捉这些类型的按键事件,你需要对modifier keys有特殊的逻辑。当用户按下 Shift(或 Ctrl、Alt 等)时,您需要输入一个特殊的循环记住之前按下的内容,并记住直到释放每个键。
您要查找的序列是:
Keydown
Catch key #16
Enter loop
Catch key #50
Trigger tag lookup
Keyup
Exit modifier loop
在我看来,只捕获包含文本字符 @
.
的字段更容易
如果您想查看一些示例代码,here's a little fiddle 我是为测试而构建的。如果您在字段 或 中按 2,则您键入 Shift + 2在现场,也是一样的反应。
编辑:
我忘了说,浏览器按键事件包含特殊属性,表示 shift、control 和 alt。
对于像 Shift + 2 这样的单个事件,您的测试可能如下所示:
if( e.keyCode === 50 && e.shiftKey ){ // do logic for @ }
这不是很可扩展,但它适用于小型用例。我更新了 the fiddle from above 以捕获 2 和 @
.
我想用 Ajax 创建一个标签系统。我会使用与 facebook 相同的系统,也就是说,当您按下滚动功能时,会激活自动完成各种朋友姓名。我的问题是:如何使用事件 "keydown" keyCode 和函数捕获 "at sign"?我感谢可能的帮助。
$(document).on("keydown",'.text-area-commento', function(e)
{
if(e.keyCode === 64)
{
alert("tag");
}
if(e.keyCode === 13)
{
var id_post = $(this).attr('id');
var message = $(".commento"+id_post).val();
if (e.shiftKey) {
$(this).val( $(this).val() + "<br>" );
}
else
{
....
}
}
}
@
的 Windows alt code 是 64。
@
没有键码。
这是因为你从不直接输入@
,你按Shift然后按2。
它们的关键代码分别是 16
和 50
。
为了捕捉这些类型的按键事件,你需要对modifier keys有特殊的逻辑。当用户按下 Shift(或 Ctrl、Alt 等)时,您需要输入一个特殊的循环记住之前按下的内容,并记住直到释放每个键。
您要查找的序列是:
Keydown
Catch key #16
Enter loop
Catch key #50
Trigger tag lookup
Keyup
Exit modifier loop
在我看来,只捕获包含文本字符 @
.
如果您想查看一些示例代码,here's a little fiddle 我是为测试而构建的。如果您在字段 或 中按 2,则您键入 Shift + 2在现场,也是一样的反应。
编辑:
我忘了说,浏览器按键事件包含特殊属性,表示 shift、control 和 alt。
对于像 Shift + 2 这样的单个事件,您的测试可能如下所示:
if( e.keyCode === 50 && e.shiftKey ){ // do logic for @ }
这不是很可扩展,但它适用于小型用例。我更新了 the fiddle from above 以捕获 2 和 @
.