Google翻译覆盖选择更改事件 [英] Google Translate override select change event

查看:118
本文介绍了Google翻译覆盖选择更改事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个更奇怪的问题:

 < div id =translate> 
< a href =#id =google-translatetitle =Google translate>翻译< / a>
< div id =google_translate_elementstyle =display:none>
< script>
function googleTranslateElementInit(){
new google.translate.TranslateElement({pageLanguage:sv},google_translate_element);
};
< / script>
< / div>
< / div>

这给了我以下几点:

 < div class =skiptranslate goog-te-gadgetstyle => 
< div id =:1.targetLanguage>
< select class =goog-te-combo>
< / select>
< / div>
Powered by
< span style =white-space:nowrap;>
< / span>
< / div>

然而,当选择新语言时,我似乎无法劫持正在触发的更改事件。



我尝试了以下操作:

  var $ textfield = find #谷歌翻译); 
var $ popup = find(#google_translate_element);
var $ select = $ popup.find(select);

textfield.click(function(){
$ popup.fadeIn(fast);
return false;
});

$ select.bind(change,function(){
$ popup.fadeOut(fast);
});

有没有人为此提供解决方案?



< BR,Henric

解决方案

我终于通过对语言重新执行检查来解决此问题。
不是最漂亮的解决方案,但它可以完成这项工作。 :)

  var firstMenuValue = $(#main-menu li:first)。text(); 
$ b $ var checkIfTranslated = function(){
var check = function(){

if(firstMenuValue!= $(#main-menu li:first ).text()){
firstMenuValue = $(#main-menu li:first)。text();
$(#google_translate_element)。fadeOut(fast);
}

};
setInterval(check,2000);
};

checkIfTranslated();

我希望这可以帮助至少有人。

I've got a wierd issue:

<div id="translate">
    <a href="#" id="google-translate" title="Google translate">Translate</a>
         <div id="google_translate_element" style="display:none">
         <script>
         function googleTranslateElementInit() {
            new google.translate.TranslateElement({ pageLanguage: "sv" }, "google_translate_element");
         };
         </script>
     </div>
</div>

Which gives me the following:

<div class="skiptranslate goog-te-gadget" style="">
  <div id=":1.targetLanguage">
    <select class="goog-te-combo">
    </select>
  </div>
    Powered by
  <span style="white-space: nowrap;">
  </span>
</div>

I cannot however seem to hijack the change event being triggered when selecting a new language.

I've tried by doing the following:

var $textfield = find("#google-translate");
var $popup = find("#google_translate_element");
var $select = $popup.find("select");

$textfield.click(function () {
    $popup.fadeIn("fast");
    return false;
});

$select.bind("change", function () {
    $popup.fadeOut("fast");
});

Have anyone got a solution for this?

BR, Henric

解决方案

I finally solved this by using a reoccuring check on the language. Not the prettiest solution, but it does the job. :)

var firstMenuValue = $("#main-menu li:first").text();

var checkIfTranslated = function () {
    var check = function () {

        if (firstMenuValue != $("#main-menu li:first").text()) {
            firstMenuValue = $("#main-menu li:first").text();
            $("#google_translate_element").fadeOut("fast");
        }

    };
    setInterval(check, 2000);
};

checkIfTranslated();

I hope this helps out somebody at least.

这篇关于Google翻译覆盖选择更改事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆