javascript - 谷歌翻译覆盖选择更改事件

标签 javascript html css google-translate

我有一个奇怪的问题:

<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>

这给了我以下内容:

<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>

但是,我似乎无法劫持选择新语言时触发的更改事件。

我已尝试执行以下操作:

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");
});

有人对此有解决方案吗?

BR,亨里克

最佳答案

MjrKusanagi 建议的以下代码效果非常好。

$("body").on("change", "#google_translate_element select", function (e) {
    console.log(e);
    console.log($(this).find(":selected").text());
    console.log($(this).find(":selected").val());
});

查看下拉列表中的所有数据

$(".goog-te-combo").find("option").each(function () {
    console.log($(this).text() + ", " + $(this).val() + "\n");
});

关于javascript - 谷歌翻译覆盖选择更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22562644/

相关文章:

javascript - JQuery 的事件和非事件复选框

javascript - 在 jQuery 中使用 .each 和 JSON 对象时,如何避免未定义的属性?

javascript - 如何让bxSlider中的图片全屏?

php - 正确的文件路径 img src,图像未加载 PHP HTML

html - 使用绝对和顶部将页脚定位在页面底部

css - 动画淡入和淡出连续的文本行

javascript - Marionette Js 扩展底座 Controller

javascript - 如何在时钟应用程序中用当前时间自动替换过去的秒/分钟/小时

jquery - 我可以在 CSS 中从一个类继承到另一个类吗

php - 如何在 WAMP 服务器中设置 404 页面的样式