gpt4 book ai didi

autocomplete - 使用鼠标粘贴未激活 Google 的自动完成功能

转载 作者:行者123 更新时间:2023-12-04 15:01:31 25 4
gpt4 key购买 nike

Google autocomplete API似乎没有通过使用鼠标将内容粘贴到文本输入中来激活。如果完全涉及键盘,它可以正常工作,但不能只涉及鼠标。

但是,我确实注意到,在您将内容粘贴到文本输入中后,它几乎可以通过任何按键激活(经过测试的右箭头键、结束键、空格)。

你可以在他们的 autocomplete demo 上复制它地点。

这是一个错误吗?还是按照设计?如果按照设计,如何应用解决方法?
到目前为止,我已将此作为解决方法,但似乎没有模拟按键事件有效。

$('.txtLocation').bind("paste", function (e)
{
$('.txtLocation').focus();
var e = jQuery.Event("keydown");
e.keyCode = 39; //39=Arrow Right
$('.txtLocation').trigger(e);
});

最佳答案

似乎这不仅会影响上下文菜单粘贴,还会影响浏览器菜单栏中的 Edit|Paste 以及 iOS 粘贴功能。我开了一个 bug with Google .您可能希望对该错误报告“加星标”以获取更新。

我找到了一种解决方法,虽然有点小技巧,但似乎可以解决问题。如果您存储粘贴的值,请将焦点切换到不同的字段,在 Autocomplete 字段中设置值,最后将焦点重新放在 Autocomplete 字段上,事情或多或少按预期工作。此外,您必须在 setTimeout() 中执行此操作回调 - 延迟时间似乎根本无关紧要,但是如果您只是内联执行此操作,您将看不到预期的结果。

这是我上面描述的代码示例:

$("#address_field").on("paste", googleMapsAutocompletePasteBugFix);

googleMapsAutocompletePasteBugFix = function() {
return setTimeout(function() {
var field, val;
field = $("#address_field");
val = field.val();
$("#price").focus();
field.val(val);
return field.focus();
}, 1);
};

最后 focus()是可选的,但与您只是自动跳到下一个字段相比,UI 没有那么令人惊讶。

关于autocomplete - 使用鼠标粘贴未激活 Google 的自动完成功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325690/

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