gpt4 book ai didi

在 token 后触发的 jQuery 自动完成插件

转载 作者:行者123 更新时间:2023-12-03 23:01:00 25 4
gpt4 key购买 nike

我正在构建一个应用程序,并且希望在文本区域内进行自动完成,就像 Twitter/Facebook 使用 @[name] 所做的那样。但是,我希望在输入 [TID:x] 时触发它,其中 x 是任意长度的整数。

看来 Twitter/Facebook 在您点击 @ 符号后开始自动完成,然后在其后发送文本数据以进行自动完成。有谁知道 jQuery UI 插件(或任何其他插件)是否可以做这样的事情?

最佳答案

这确实是可能的。您可以利用自动完成小部件的事件( searchselect )来完成此操作:

var triggered = false;
var trigger = "TDI:";

$("input").autocomplete({
source: [...],
search: function() {
if (!triggered) {
return false;
}
},
select: function(event, ui) {
var text = this.value;
var pos = text.lastIndexOf(trigger);

this.value = text.substring(0, pos + trigger.length) +
ui.item.value;

triggered = false;

return false;
},
focus: function() { return false; },
minLength: 0
}).bind("keyup", function() {
var text = this.value;
var len = text.length;
var last;
var query;
var index;

if (triggered) {
index = text.lastIndexOf(trigger);
query = text.substring(index + trigger.length);
$(this).autocomplete("search", query);
}
else if (len >= trigger.length) {
last = text.substring(len - trigger.length);
triggered = (last === trigger);
}
});

此处演示:http://jsfiddle.net/andrewwhitaker/kCkga/

注释:

  • 这是一个非常有限的演示。如果您尝试使其在字符串中间自动完成,它将不起作用。
  • 要完成此示例,您需要做一些工作来确定光标在输入字段中的位置并在其中插入文本
  • 可能还有其他错误,但我绝对认为这是可行的。希望这能让您开始。

关于在 token 后触发的 jQuery 自动完成插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4564378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com