2014-11-19 3 views
2

У меня есть диаграмма, которая отлично смотрится и хочет добавить возможность увеличения и уменьшения масштаба, привязанного к клавишам «+» и «-». Я добавил обработчик события 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;'>"); 

ответ

0

Я решил, добавив слушатель событий на документе:

$(document).on('keydown',function(){//your implementation}) 
0

Из того, что он выглядит, я не уверен, если вы должным образом прикрепляться к элементу Div. Попробуйте $ (". PaperContainer"), если это класс, иначе $ ("# paperContainer"), чтобы захватить div, если имеет идентификатор.

Если это не работает, проверьте все в хроме и перейдите в консоль.

+0

Привет там, и спасибо за ответ. Ive обновил мой вопрос, показывающий, как была создана бумагаContainer. Это объект jQuery, содержащий DIV, который является контейнером для диаграммы JointJS. В браузерах не сообщается об ошибках, и все работает так, как ожидалось, за исключением того, что события синхронизации не сообщаются с диаграммы JointJS. – Kolban

+1

Согласно документам jquery, keydown будет вызываться только на сфокусированных элементах. Я не думаю, что вы можете вызвать эту функцию, если элемент не сфокусирован и не регистрирует нажатие клавиши. – Tommyixi

+0

Это хорошая мысль. На моей странице я добавил текстовое поле и дал ему фокус. Я видел, что он был близок, как ожидалось. Затем я щелкнул на диаграмме и увидел «удаление» в режиме hightighting. Я вполне готов поверить, что диаграмма JointJS не имеет фокуса ... но тогда я в недоумении относительно того, что делает? – Kolban

Смежные вопросы