首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为多个动态Textboxes (ASP.Net)启用Google音译

如何为多个动态Textboxes (ASP.Net)启用Google音译
EN

Stack Overflow用户
提问于 2013-06-03 02:51:17
回答 2查看 2.9K关注 0票数 2

下面是在ASP.Net页面中集成Google音译代码的示例代码(随处可见)。

但我的问题是,如何在运行时生成的TextBoxes中启用音译?此脚本要求应用音译的文本框的ID。但是我的文本框将在运行时生成。

这一行代码需要一个替代方案:

control.makeTransliteratable('transliterateTextarea');

代码语言:javascript
复制
  //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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-04 06:30:36

使用RegisterStartupScript。RegisterStartupScript将在页面完全加载后执行。

代码语言:javascript
复制
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
}

在后面的代码里

代码语言:javascript
复制
protected override void OnPreRender(EventArgs e)
{
  Page.ClientScript.RegisterStartupScript(GetType(), "EnableTransalation", "EnableTransalation('" + ctrl.ClientID + "')", true);
}
票数 2
EN

Stack Overflow用户

发布于 2015-01-30 13:38:01

首先,必须将所有文本框类名设置为hindiFont。

使用本守则:

代码语言:javascript
复制
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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16889438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档