不按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,右键直接显示“在此处打开命令窗口”