2015-07-10 1 views
3

Я пытаюсь удалить действия мыши, которые происходят по ссылкам и ребрам.отключить взаимодействие с мышью Схема JointJS

Я попытался добавить interactive: false к объекту joint.dia.Paper - это не поможет полностью. Я все еще вижу изменения мыши. Я хочу, чтобы ссылка (особенно) не реагировала на мышь.

Как это достичь?

+0

Вы можете добавить прослушиватель событий в контейнер ссылок и прямоугольников, который будет обрабатывать событие 'onmouseover'. Если событие 'mouseover' происходит на любом элементе, который вы не хотите, вы блокируете его, возвращая' false'. Надеюсь, что я правильно понял вашу проблему. – sunpietro

+0

@sunpietro документация по объединению не показывает, как добавить слушателя 'onmouseover'. Не могли бы вы показать пример? Я могу обнаружить изменения, используя 'link.on ('change: vertices', someChange)' (который вызывает функцию someChange при перетаскивании вершин. Как это сделать для мыши? –

+0

Разве это не просто CSS-вещь? Просто удалите любые свойства CSS наведения ... –

ответ

2

Чтобы понять это, вы должны понять, как создается разметка SVG для ссылок. Документации объясняет это довольно хорошо:

http://jointjs.com/tutorial#link-styling

Если вам необходимо проверить более подробно о структуре класса CSS, я считаю полезным использовать Осмотреть элемент в вашем браузере.

Как только вы это поймете, вы увидите, что можете делать то, что вы просите использовать CSS. Для демо смотрите здесь:

http://jsfiddle.net/azt8jpam/1/

Для ссылки вам необходимо установить display: none на connection-wrap, link-tools, marker-vertices и marker-arrowhead классов.

Для полноты вы также можете установить cursor: auto на фигуры. Например,

.element.basic.Rect { 
    cursor: auto 
}