下面是在ASP.Net页面中集成Google音译代码的示例代码(随处可见)。
但我的问题是,如何在运行时生成的TextBoxes中启用音译?此脚本要求应用音译的文本框的ID。但是我的文本框将在运行时生成。
这一行代码需要一个替代方案:
control.makeTransliteratable('transliterateTextarea');
//Script Starts here
// Load the Google Transliterate API
google.load("elements", "1", {
packages: "transliteration"
});
function onLoad() {
var options = {
sourceLanguage:
google.elements.transliteration.LanguageCode.ENGLISH,
destinationLanguage:
[google.elements.transliteration.LanguageCode.HINDI],
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};
// Create an instance on TransliterationControl with the required
// options.
var control =
new google.elements.transliteration.TransliterationControl(options);
// Enable transliteration in the textbox with id
// 'transliterateTextarea'.
control.makeTransliteratable(['transliterateTextarea']);
}
google.setOnLoadCallback(onLoad);
//End here发布于 2013-06-04 06:30:36
使用RegisterStartupScript。RegisterStartupScript将在页面完全加载后执行。
function EnableTransalation(ctrlId) {
//Script Starts here
// Load the Google Transliterate API
google.load('elements', '1', {
packages: 'transliteration'
});
function onLoad() {
var options = {
sourceLanguage:
google.elements.transliteration.LanguageCode.ENGLISH,
destinationLanguage:
[google.elements.transliteration.LanguageCode.HINDI],
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};
// Create an instance on TransliterationControl with the required
// options.
var control =
new google.elements.transliteration.TransliterationControl(options);
// Enable transliteration in the textbox with id
// 'transliterateTextarea'.
control.makeTransliteratable(["'" + ctrlId + "'"]);
}
google.setOnLoadCallback(onLoad);
//End here
}在后面的代码里
protected override void OnPreRender(EventArgs e)
{
Page.ClientScript.RegisterStartupScript(GetType(), "EnableTransalation", "EnableTransalation('" + ctrl.ClientID + "')", true);
}发布于 2015-01-30 13:38:01
首先,必须将所有文本框类名设置为hindiFont。
使用本守则:
google.load("elements", "1", {
packages: "transliteration"
});
function onLoad() {
var options = {
sourceLanguage: [google.elements.transliteration.LanguageCode.ENGLISH],
destinationLanguage: [google.elements.transliteration.LanguageCode.HINDI],
transliterationEnabled: true,
shortcutKey: 'ctrl+g'
};
var control = new google.elements.transliteration.TransliterationControl(options);
$('.hindiFont').each(function(){
var id = this.id;
control.makeTransliteratable([id]);
})
}
google.setOnLoadCallback(onLoad);https://stackoverflow.com/questions/16889438
复制相似问题