不按Shift键即可翻译输入文本字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不按Shift键即可翻译输入文本字段相关的知识,希望对你有一定的参考价值。

我在这里有两个输入字段

<input type="text" class="form-control formRow--input js-input" name="product_name" id="product_name" placeholder="Product Name (ENG)" required>
<input type="text"  class="form-control formRow--input js-input" id="product_name_mal" name="product_name_mal" placeholder="Product Name (MAL)" >

[当我在第一个输入字段中输入英文产品名称并按Shift键时,在第二个输入字段中将其翻译成马拉雅拉姆语。

这是我的代码:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">
google.load("elements", "1", {packages: "transliteration"});
</script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
function OnLoad() {                
    var options = {
        sourceLanguage:
        google.elements.transliteration.LanguageCode.ENGLISH,
        destinationLanguage:
        [google.elements.transliteration.LanguageCode.MALAYALAM],
        shortcutKey: 'ctrl+g',
        transliterationEnabled: true
    };

    var control = new google.elements.transliteration.TransliterationControl(options);
    control.makeTransliteratable(["product_name_mal"]);
    var keyVal = 32; // Space key
    $("#product_name").on('keydown', function(event) {
        if(event.keyCode === 32) {
            var engText = $("#product_name").val() + " ";
            var engTextArray = engText.split(" ");
            $("#product_name_mal").val($("#product_name_mal").val() + engTextArray[engTextArray.length-2]);

            document.getElementById("product_name_mal").focus();
            $("#product_name_mal").trigger ( {
                type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal
            } );
        }
    });

    $("#product_name_mal").bind ("keyup",  function (event) {
        setTimeout(function(){ $("#product_name").val($("#product_name").val() + " "); document.getElementById("product_name").focus()},0);
    });
} 

google.setOnLoadCallback(OnLoad);
</script>

我希望第二个输入字段在不按Shift键的情况下转换为马拉雅拉姆语。我不太喜欢JS。有人可以帮我吗?

答案

您可以始终将onKeyDown和/或onKeyUp事件中的第一个字符大写。

engText = engText.charAt(0).toUpperCase() + engText.slice(1)

以上是关于不按Shift键即可翻译输入文本字段的主要内容,如果未能解决你的问题,请参考以下文章

从 UITextField 保存文本数据而不按其他键(需要帮助)

文件夹上不用按Shift,右键直接显示“在此处打开命令窗口”

Xamarin.Mac 安全文本字段通过输入 Enter 键移动焦点

linux 输入法大小写如何转换

hbuilderx空格怎么打

常用快捷键