我一直在尝试使用Google的虚拟键盘作为使用此API的书签http://code.google.com/apis/language/virtualkeyboard/v1/getting_started.html
但每当我点击它时,它会重新加载页面!,
这是我的代码:
(function(){document.body.appendChild(document.createElement('script')).src='https://www.google.com/jsapi?key=my-key';})();
google.load("elements", "1", {packages: "keyboard"});
function onLoad() {var kbd = new google.elements.keyboard.Keyboard([google.elements.keyboard.LayoutCode.RUSSIAN]);}
google.setOnLoadCallback(onLoad);
更新 我终于得到了解决方案,它实际上是因为:
重新加载google.load("elements", "1", {packages: "keyboard"});
因此您可以将其替换为:
google.load("elements", "1", {packages: "keyboard", callback: runKeyboard});
function runKeyboard() {var kbd = new google.elements.keyboard.Keyboard([google.elements.keyboard.LayoutCode.RUSSIAN]);}
答案 0 :(得分:1)
您是否尝试在代码末尾添加void(0)
?
来自http://www.tizag.com/javascriptT/javascriptvoid.php:
...如果您使用JavaScript语句作为返回值的URL,浏览器将尝试加载页面。要防止这种不必要的操作,您需要在此类语句上使用
void
函数,该函数将始终返回null并且从不加载新页面。