我想创建一个搜索框,返回来自不同国家/地区的Google自动建议回复.我发现了重新创建自动完成搜索的一个很好的例子:
var suggestCallBack; // global var for autocomplete jsonp
$(document).ready(function () {
$("#search").autocomplete({
source: function(request, response) {
$.getJSON("http://suggestqueries.google.com/complete/search?callback=?",
{
"hl":"en", // Language
"jsonp":"suggestCallBack", // jsonp callback function name
"q":request.term, // query term
"client":"youtube" // force youtube style response, i.e. jsonp
}
);
suggestCallBack = function (data) {
var suggestions = [];
$.each(data[1], function(key, val) {
suggestions.push({"value":val[0]});
});
suggestions.length = 5; // prune suggestions list to only 5 items
response(suggestions);
};
},
});
});
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何限制它到特定的国家,似乎没有可以传递给谷歌汽车建议的参数的文件.
如果有人有关于如何实现这一目标的建议,那将是很好的.谢谢!
我将以下代码与 jquery 一起使用以在 transitionend 上触发事件并避免多个回调/支持多个浏览器:
function whichTransitionEvent(){
var t;
var el = document.createElement('fakeelement');
var transitions = {
'transition':'transitionend',
'OTransition':'oTransitionEnd',
'MozTransition':'transitionend',
'WebkitTransition':'webkitTransitionEnd'
}
for(t in transitions){
if( el.style[t] !== undefined ){
return transitions[t];
}
}
}
Run Code Online (Sandbox Code Playgroud)
(代码在这里找到:http : //davidwalsh.name/css-animation-callback)
但是,无论前缀/语法如何,ie9 似乎都不支持 transitionend。当我在如下场景中使用 ie9 时,如何为 ie9 设置后备(在动画完成后从 DOM 中删除加载屏幕)?
$('#loading').one(transitionEvent, function(event) {
$('#loading').remove();
});
Run Code Online (Sandbox Code Playgroud)
我已经看到了几个关于如何使用与本文顶部的函数类似的函数来防止多次回调的答案,但我只是不明白如何创建回退。谢谢你的帮助!