我想在用戶使用google translate dropdown將我的站點翻譯成另一種語言之後執行jQuery功能。以下是我已經沒有運氣嘗試:爲Google翻譯添加jquery事件偵聽器
在一個普通的下拉,這將正常工作,但我有麻煩瞄準谷歌翻譯格..因爲我在iframe相信它。反正有沒有針對在iframe中使用jquery的div呢?或者,也許另一個解決方法?如果任何人有任何想法,這將不勝感激。
我想在用戶使用google translate dropdown將我的站點翻譯成另一種語言之後執行jQuery功能。以下是我已經沒有運氣嘗試:爲Google翻譯添加jquery事件偵聽器
在一個普通的下拉,這將正常工作,但我有麻煩瞄準谷歌翻譯格..因爲我在iframe相信它。反正有沒有針對在iframe中使用jquery的div呢?或者,也許另一個解決方法?如果任何人有任何想法,這將不勝感激。
我也剛剛將Google Translate小部件添加到我的網站,當然,它打破了佈局!
所以我回顧了小部件使用的腳本。
首先,您無法向該按鈕添加事件偵聽器,因爲Google Translate小部件已經分配了一個。
其次,我發現它翻譯後,GT小部件設置標籤有一個類。
所以,我給了我的標籤ID爲「docstart」,並創建了以下腳本。
注:這打破火狐21節,但它在IE 9的作品 我沒有任何其他瀏覽器進行了測試。
function LayoutFix() {
// code here to fix your layout
myListener();
};
function waitForGoogle() {
setTimeout (function myListener() {
var e = document.getElementById('docstart').className;
var l = e;
window.setInterval(function() {
var cN = e.className;
if (cN !== l)
// Call function to fix the layout on class change
LayoutFix();
// Set a 10 second iteration
},10000);
// Set a 10 second wait for GT widget to load
},10000);
}
// Finally, load the listener on document.ready()
$(document).ready(waitForGoogle);
我知道這是舊的,但我最近一直在這方面的工作,它可能會幫助一些。
與您的代碼的問題是,你是不會在文件準備好&點存在的元素結合你的聽衆雖然.change()
方法在技術上是對.on()
快捷方式你都沒有在DOM足夠高以允許這個'未來'加入到dom中。
所以你的代碼應該是:
$('#google_translate_element').on('change','select.goog-te-combo',function(e){ console.log($(this).val()); /* or alert($(this).val()); */ });
這將允許選擇框有當它是由谷歌添加更改偵聽器綁定。
它工作完美的網站,我目前的工作。