更新时间:2023-12-04 14:41:34
我终于通过对语言重新执行检查来解决此问题。
不是最漂亮的解决方案,但它可以完成这项工作。 :)
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.