У меня есть диаграмма, которая отлично смотрится и хочет добавить возможность увеличения и уменьшения масштаба, привязанного к клавишам «+» и «-». Я добавил обработчик события keydown
в <div>
, который является контейнером для бумаги, но который не запускается с нажатиями клавиш. Это заставляет меня думать, что мой рецепт неправильный. Кто-нибудь пытался зафиксировать ключевые штрихи в диаграмме и иметь рецепт для обмена?Обнаружение нажатия клавиши на бумаге
Код, который я попытался было:
$(paperContainer).keydown(function(event) {
console.log("Key press: %O", event);
});
где paperContainer
является объект JQuery для моего <div>
, что правильно показывает диаграмму. paperContainer
был создан с:
var paperContainer = $("<div style='width: 100%; height: 100%; overflow: auto;'>");
Привет там, и спасибо за ответ. Ive обновил мой вопрос, показывающий, как была создана бумагаContainer. Это объект jQuery, содержащий DIV, который является контейнером для диаграммы JointJS. В браузерах не сообщается об ошибках, и все работает так, как ожидалось, за исключением того, что события синхронизации не сообщаются с диаграммы JointJS. – Kolban
Согласно документам jquery, keydown будет вызываться только на сфокусированных элементах. Я не думаю, что вы можете вызвать эту функцию, если элемент не сфокусирован и не регистрирует нажатие клавиши. – Tommyixi
Это хорошая мысль. На моей странице я добавил текстовое поле и дал ему фокус. Я видел, что он был близок, как ожидалось. Затем я щелкнул на диаграмме и увидел «удаление» в режиме hightighting. Я вполне готов поверить, что диаграмма JointJS не имеет фокуса ... но тогда я в недоумении относительно того, что делает? – Kolban