Имя: Пароль:
1C
1С v8
Поле HTML документа + JavaScript
0 koof90
 
30.05.18
13:54
Есть задача. В УФ в поле HTML документа нарисовать некий элемент управления, взаимодействующий с родительской формой.
Проблема: в нарисованной странице в поле HTML документа странно срабатывают события с клавиатуры keyup, keypress, keydown. а именно, по первым двум возникает событие только по нажатию "backspace" и "delete", а по второму - на все кроме "backspace" и "delete".

Поделитесь опытом пожалуйста, кто-то с этим воевал или каков итог?

Пример HTML-страницы, размещенной в поле HTML документа:

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=9">
      <title>Тестовая таблица - Изделия</title>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>;
   </head>
   <body>
      <form name="properties" id="properties" action="POST">
      </form>
      <script>
           $(document).ready(function(){
addEventListener("keydown", function(event) {
    alert("keydown " + event.keyCode);
  });

addEventListener("keypress", function(event) {
    alert("keypress " + event.keyCode);
  });
});

      </script>
   </body>
</html>
1 Юрий Лазаренко
 
30.05.18
13:57
(0) " $(document)" в тексте говорит об использовании jquery. А она у вас подключена на поле htmlдокумента в 1С?
2 koof90
 
30.05.18
14:00
3 Сияющий в темноте
 
30.05.18
14:49
А без jquery не судьба?
Просто,поле html документа,это WebBrowser,то есть вид Осла,а у него событие назначается через присваивание
4 koof90
 
30.05.18
14:57
(3) На самом деле то же самое прекрасно работает в IE9. Возможно, в поле HTML крутится  не совсем IE или порезанный IE, поэтому не все работает как IE. Можете привести пример, как описать событие по-другому?
5 koof90
 
30.05.18
14:58
jQuery к слову прекрасно работает. Затык именно в клавиатурных событиях
6 koof90
 
30.05.18
15:54
без jQuery

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=9">
      <title>Тест</title>
   </head>
   <body>
      <script>

document.onkeyup = function(event) {
alert("keyup " + String(event.keyCode));
}

document.onkeydown = function(event) {
alert("keydown  " + String(event.keyCode));
}

document.onkeypress = function(event) {
alert("keypress " + String(event.keyCode));
}

      </script>
   </body>
</html>

итог тот же. События отрабатывают, но не на всех клавишах. К примеру стрелки не удалось отловить ни на одно из трех событий
10 МихаилМ
 
30.05.18
18:02
это копия форума

вот тема оригинал Вызов методов языка JavaScript из кода 1С.

забаньте урода.
11 lubitelxml
 
30.05.18
18:12
(4) Генерация события поля HTML документа в 1С из javascript - тут есть как поменять версию интергированного IE - попробуй
12 lubitelxml
 
30.05.18
18:13
безопасность еще возможно нужно настроить
13 Сияющий в темноте
 
30.05.18
20:46
Начнем с того,что все события клавиатуры для дочерних элементов отправляет само окно,и оно решает,что отправлять в тот или иной элемент по флагам у него установленным,попробуйте посмотреть,какие флаги можно задать,чтобы все события работали.
С учетом того,как это работает в конфигураторе у них с этим явно проблемы