gpt4 book ai didi

jquery - 触发 Google 网络翻译元素

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

由于谷歌翻译 API 正在关闭,我试图让谷歌翻译网络元素在用户的整个 session 中工作,这样他们就不必在每个不同的语言上将选择框选项更改为其语言页。

初始加载函数如下:

function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en'}, "google_translate_element");
};

其中 google_translate_element 是要放入选择框的 div。当选择框位于其中时,它始终具有“goog-te-combo”类。我可以使用 jQuery 更改框的值,没有任何问题,例如。 $('.goog-te-combo').val('fr') 会将框更改为法语。但是,当我尝试使用 $('.goog-te-combo').trigger() 使用各种事件类型(更改、单击、mouseup、mousedown 等)触发翻译时,翻译永远不会触发。

有人知道触发翻译的方法吗?

最佳答案

这是一个老问题,但我会回答,因为我遇到了同样的问题并解决了它。我必须从 jQuery 获取 DOM,然后触发并执行。

 function fireEvent(element,event){
console.log("in Fire Event");
if (document.createEventObject){
// dispatch for IE
console.log("in IE FireEvent");
var evt = document.createEventObject();
return element.fireEvent('on'+event,evt)
}
else{
// dispatch for firefox + others
console.log("In HTML5 dispatchEvent");
var evt = document.createEvent("HTMLEvents");
evt.initEvent(event, true, true ); // event type,bubbling,cancelable
return !element.dispatchEvent(evt);
}
}

我用它来调用它

 var jObj = $('.goog-te-combo');
var db = jObj.get(0);
jObj.val(Lang);
fireEvent(db, 'change');

关于jquery - 触发 Google 网络翻译元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6303021/

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