API bing V2 javascript требует обратного вызова для работы.Использование jQuery для динамического добавления блока скрипта (без учета загрязнения глобального пространства имен):
function translate(text) {
var txt = "text=" + text;
var lang = "&to=fr";
var appId = "&appid=apikey"; // Add your AppId here
var func = "&oncomplete=window.translated";
$("<script><\/script>")
.attr("src", "http://api.microsofttranslator.com/V2/ajax.svc/Translate?" + txt + lang + appId + func)
.appendTo("HEAD");
}
, а затем использование события click для нескольких элементов для запуска перевода:
$(document).ready(function () {
$('a').click(function () {
var tr = $(this).parent().parent();
var txtin = tr.find('.in').text();
var out = tr.find('.out'); // would like translation inserted here
translate(txtin);
return false;
});
});
и, наконец,обратный вызов, требуемый API:
function translated(text) {
$("#translation").text(text);
}
Я хочу указать различные элементы для получения переведенного текста, в зависимости от того, какой элемент был нажат для перевода перевода - но, используя вышеупомянутый подход, я не могу пройтилюбые дополнительные параметры для bing, которые затем будут возвращены в обратном вызове.
Как мне переписать это, чтобы разрешить щелчок на el в строке1, чтобы поместить перевод в row1, и щелчок на el в строке2, чтобы поместитьперевод в row2?то есть, используя элемент, присвоенный 'out' в моем событии click.