jQuery没有';我不能不警觉地工作
下面我有一些JavaScript,但除非我有如下所示的jQuery没有';我不能不警觉地工作,jquery,Jquery,下面我有一些JavaScript,但除非我有如下所示的警报,否则它不会工作。我知道这是一个时间问题,但我不知道如何着手解决它。有什么想法吗 $(function() { $("#search_field").tokenInput("/searches/suggest_gems.json", { onAdd: function (item) { $('#search_field').val(item.name); // Doesn't work without al
警报,否则它不会工作。我知道这是一个时间问题,但我不知道如何着手解决它。有什么想法吗
$(function() {
$("#search_field").tokenInput("/searches/suggest_gems.json", {
onAdd: function (item) {
$('#search_field').val(item.name);
// Doesn't work without alert("hi");
},
crossDomain: false,
tokenLimit: 1,
tokenValue: name
});
});
我以前也遇到过类似的问题。我发现可以使用$(window).load(function(){…})
而不是$(function(){…})
。这为在加载DOM时还没有准备好的任何东西争取了足够的时间,以便在完全加载窗口时准备好。希望这有帮助。尝试检查控制台是否有错误。在Chrome中,您可以使控制台持久化:
听起来像是异步问题。当您使用警报时
,代码执行停止,错误不会显示。如果您没有使用此警报,则错误会停止代码执行,因此onAdd永远不会被触发,因此代码将不会被执行
首先,尝试检查在启动onAdd时DOM中是否仍然存在元素#search_字段
还要检查item.name是否未定义
检查onAdd启动前发生的情况。这是什么意思?“没有警报就不能工作”?这是怎么回事?你的错误是什么?我们到底在修复什么?您可能需要使用setInterval()
设置一个间隔,或者使用setTimeout()
(在谷歌上查找,它们可能会帮助您)!是的,只是alert()
将事情暂停足够长的时间,以便其他事情在幕后跟进。