gpt4 book ai didi

jquery - 多个 jQuery 函数和自动完成

转载 作者:行者123 更新时间:2023-12-01 03:56:53 24 4
gpt4 key购买 nike

我发现使用声明 jQuery Autocomplete因为脚本中的第一个函数会阻止执行其他函数。

下面的第二个和第三个功能将不起作用:

<script>
$(function() {
$("#ent_input").autocomplete('get_suggestions',
{autoFill: true, scroll: false});
});

// Freebase Suggest
$(function() {
$("#ent_input_fb").suggest({type:'/film/director'});
});

$(function() {
$("#ent_input_fb2").suggest({type:'/film/actor'});
});
</script>

但是,如果我将自动完成移到底部,则其他脚本可以工作,但自动完成不能。

<script>
// Freebase Suggest
$(function() {
$("#ent_input_fb").suggest({type:'/film/director'});
});

$(function() {
$("#ent_input_fb2").suggest({type:'/film/actor'});
});

$(function() {
$("#ent_input").autocomplete('get_suggestions',
{autoFill: true, scroll: false});
});
</script>

有人遇到过 jQuery Autocomplete 类似的问题吗? ?

最佳答案

jQuery 应该按照声明的顺序执行所有 $(function()...) 处理程序,没有问题。看来您对 autocompletesuggest 的调用是罪魁祸首。

jQuery 对事件处理程序非常谨慎,如果您尝试使用单击处理程序执行与上述类似的操作,您会注意到它们也按顺序执行(而不是相互覆盖)。尝试一下:

假设 someElement 标记如下:

<span id="someElement" onclick="alert('Me First!');" />

...和 ​​JavaScript

$("#someElement").click
(
function()
{
alert("1");
}
);

$("#someElement").click
(
function()
{
alert("2");
}
);

您将看到按以下顺序显示的三个警报框:“Me First!”、“1”和“2”。

jQuery 付出了额外的努力,将标记的 onclick 处理程序保留为事件发生时要单击的第一个函数。这使得将该库与服务器端技术(例如 ASP.NET)一起使用非常安全,ASP.NET 到处都有 onclick 处理程序。

要从元素中删除所有 jQuery 分配的单击事件处理程序,请执行以下操作:

$("#someElement").unbind("click");

请记住,这不会删除以其他方式分配的点击处理程序(即标记中的 onclick 属性)。

关于jquery - 多个 jQuery 函数和自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430451/

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