是否有一个很好的解决方案来创建文本字段输入,例如Facebook或Google+状态更新和帖子,其中允许在某些触发键(如“@”或“+”)之后发生令牌化自动完成?
似乎有一些很好的令牌化自动完成插件,但是我试图找到一种方法来调用自动完成,只有在一个术语之前存在键时,否则让用户键入普通的非自动完成文本。 / p>
看起来你可能能够和bind一起破解,但我对JavaScript很陌生,所以如果有一个简单的更优雅的解决方案,我很乐意听到它。
答案 0 :(得分:1)
使用jquery并不是很困难。首先设置一个类来标识您的输入框。例如:
<input type="text" class="autocomplete" name="the_name" />
然后,您可以简单地捕获keyup事件并检查您需要的密钥。例如,@符号具有键码64
$(".autocomplete").keypress(function(e) {
if (e.which == 64) {
// your event handler
}
});
您可以查看所有活动代码以及有关.keypress()here的更多信息。
您的事件处理程序可以使用jquery.ajax函数向服务器请求填充选择器的数据。
如果要在输入某些文本后自动完成,例如,如果用户写“@tyle”,则必须修改上述代码中的条件,以便写入最后一个单词并检查它是否在开头有@