在javascript中使用tab键触发事件
我使用空格键翻译输入的文本使用谷歌API。我想用tab键完成同样的任务在javascript中使用tab键触发事件,javascript,Javascript,我使用空格键翻译输入的文本使用谷歌API。我想用tab键完成同样的任务 <script> function OnLoad() { var options = { sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH, destinationLanguage: [google.elements.transliteration.LanguageCode.HINDI], shor
<script>
function OnLoad() {
var options = {
sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH,
destinationLanguage: [google.elements.transliteration.LanguageCode.HINDI],
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};
var control = new google.elements.transliteration.TransliterationControl(options);
control.makeTransliteratable(["txtHindi"]);
var keyVal = 32; // Space key
//var keyTab = 9; //tab key
$("#txtEnglish").on('keydown', function(event) {
if (event.keyCode === 32 || event.keyCode === 9) {
var engText = $("#txtEnglish").val() + " ";
var engTextArray = engText.split(" ");
$("#txtHindi").val($("#txtHindi").val() + engTextArray[engTextArray.length - 2]);
document.getElementById("txtHindi").focus();
$("#txtHindi").trigger({
type: 'keypress',
keyCode: keyVal,
which: keyVal,
charCode: keyVal
});
}
if (event.keyCode == 8) {
$("#txtHindi").val("");
$("#txtEnglish").val("");
return false;
}
});
$("#txtHindi").bind("keyup", function(event) {
setTimeout(function() {
$("#txtEnglish").val($("#txtEnglish").val() + " ");
document.getElementById("txtEnglish").focus()
}, 0);
});
} //end onLoad function
google.setOnLoadCallback(OnLoad);
函数OnLoad(){
变量选项={
sourceLanguage:google.elements.Translation.LanguageCode.ENGLISH,
destinationLanguage:[google.elements.Translation.LanguageCode.HINDI],
快捷键:“ctrl+g”,
音译:正确
};
var-control=newgoogle.elements.translation.translationcontrol(选项);
control.makeTranslateratable([“txtHindi”]);
var keyVal=32;//空格键
//var keyTab=9;//制表键
$(“#txtEnglish”)。on('keydown',函数(事件){
if(event.keyCode==32 | | event.keyCode==9){
var engText=$(“#txtEnglish”).val()+”;
var engTextArray=engText.split(“”);
$(“#txtHindi”).val($(“#txtHindi”).val()+engtextary[engtextary.length-2]);
document.getElementById(“txtHindi”).focus();
$(“#印地语”)。触发器({
键入:“按键”,
keyCode:keyVal,
其中:凯瓦尔,
字符码:keyVal
});
}
如果(event.keyCode==8){
$(“#印地语”).val(“”);
$(“#txtEnglish”).val(“”);
返回false;
}
});
$(“#txtHindi”).bind(“keyup”,函数(事件){
setTimeout(函数(){
$(“#txtEnglish”).val($(“#txtEnglish”).val()+”);
document.getElementById(“txtEnglish”).focus()
}, 0);
});
}//结束onLoad函数
setOnLoadCallback(OnLoad);
你的东西怎么了
event.keyCode===9
应与tab键匹配。keyboardEvent.keyCode
不推荐使用。我建议你使用event.key===“Tab”
看看哪个不依赖于键盘(qwerty/azerty…)问题是当我按Tab键时,英文框中的文本被正确复制到印地语框中,触发部分也工作正常。只是翻译部分没有被执行…(“document.getElementById(“txtHindi”).focus();”)。上述语句中提到的focus()函数不执行此转换部分,但它不起作用:(