Как я могу подавить щелчок по форме Конвы после щелчка контекста?Javascript

Форум по Javascript
Ответить
Anonymous
 Как я могу подавить щелчок по форме Конвы после щелчка контекста?

Сообщение Anonymous »

У меня есть два обработчика, назначенные форме Konvajs с функцией формы. Они отвечают на событие «Click» и событие «Contextmenu». После того, как он отвечает на событие «контекст», также испускается событие «щелкнуть». Я хочу подавить событие «Click», если есть событие «контекст». Как я могу это сделать? < /P>
Я пытался использовать: < /p>

Код: Выделить всё

e.evt.preventDefault();
e.evt.stopPropagation();
e.cancelBubble = true;
< /code>
Но это не работает. < /p>


const width = 400;
const height = 300;

const stage = new Konva.Stage({
container: '.static-canvas',
width: width,
height: height
});

const layer = new Konva.Layer();

const pentagon = new Konva.RegularPolygon({
x: stage.getWidth() / 2,
y: stage.getHeight() / 2,
sides: 5,
radius: 70,
fill: 'red',
stroke: 'black',
strokeWidth: 4
});

layer.add(pentagon);
stage.add(layer);

pentagon.on( 'click', (e) => {
e.evt.preventDefault();
e.evt.stopPropagation();
e.cancelBubble = true;
console.log( 'click' )
});

pentagon.on( 'contextmenu', (e) => {
e.evt.preventDefault();
e.evt.stopPropagation();
e.cancelBubble = true;
console.log( 'contextclick' );
});< /code>
body {
margin: 0;
padding: 0;
background-color: #F0F0F0;
}
.canvas {
float: left;
width: 50%;
}
.static-canvas {
.konvajs-content {
background: orange;
}
}< /code>




Подробнее здесь: https://stackoverflow.com/questions/796 ... menu-click
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»