транслитерация не выполняется автоматически - PullRequest
0 голосов
/ 26 июня 2018

Я использую приведенный ниже код для transliterate ввода с английского на урду и арабский. Транслитерация должна выполняться автоматически, когда я нажимаю кнопку ввода внутри поля ввода (текст на английском языке), но этого не происходит. Однако, если я вручную нажму кнопку ввода внутри полей урду и арабского языка, их текст транслитерируется. Но, пожалуйста, скажите, как я могу получить желаемое поведение, т.е. входной текст должен автоматически транслитерироваться внутри полей на арабском языке урду, когда я нажимаю кнопку ввода внутри поля английского языка?

<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script type="text/javascript" src="https://www.google.com/jsapi">
  </script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script type="text/javascript">
    // Load the Google Transliterate API
    google.load("elements", "1", {
      packages: "transliteration"
    });

    function onLoad() {
      var options_u = {
        sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH,
        destinationLanguage: [google.elements.transliteration.LanguageCode.URDU],
        shortcutKey: 'ctrl+g',
        transliterationEnabled: true
      };

      var options_a = {
        sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH,
        destinationLanguage: [google.elements.transliteration.LanguageCode.ARABIC],
        shortcutKey: 'ctrl+g',
        transliterationEnabled: true
      };

      // Create an instance on TransliterationControl with the required
      // options.
      var control_u = new google.elements.transliteration.TransliterationControl(options_u);
      var control_a = new google.elements.transliteration.TransliterationControl(options_a);

      control_u.makeTransliteratable(['txtUrdu']);
      control_a.makeTransliteratable(['txtArabic']);

      $("#txtEnglish").on('keydown', function(event) {
        if (event.keyCode == 13) {
          $("#txtUrdu").val($("#txtEnglish").val());
          $("#txtUrdu").focus();
          $("#txtUrdu").trigger(jQuery.Event('keydown', {
            keyCode: 13
          }));

          $("#txtArabic").val($("#txtEnglish").val());
          $("#txtArabic").focus();
          $("#txtArabic").trigger(jQuery.Event('keydown', {
            keyCode: 13
          }));
        }
      });
    } //end onLoad function

    google.setOnLoadCallback(onLoad);
  </script>
</head>

<body>
  English: <input type="text" id="txtEnglish" /> <br/> Urdu: <input type="text" id="txtUrdu" /><br/> Arabic: <input type="text" id="txtArabic" />
</body>

</html>
...