Сообщение от roland
|
нужно заменить на "auxclick".
|
В Сафари не будет работать
Значит mouseup на box ловить нужно. И отменять контекстное меню на нем
<head>
<style>
.box2 {
position: relative;
background-color: yellow;
width: 400px;
height: 200px;
}
.box {
position: relative;
background-color: red;
width: 200px;
height: 100px;
margin: 30px auto;
}
</style>
</head>
<body>
<div class=box2>
box2
<div class=box>
box<br>
Click
</div>
</div>
<script>
const box = document.querySelector('.box');
const box2 = document.querySelector('.box2');
document.body.addEventListener('click', (event) => {
console.log('body left click');
})
box2.addEventListener('click', (event) => {
console.log('box2 left click');
})
/*
box2.addEventListener('mouseup', (event) => {
console.log('box2 mouse up');
})
*/
box.addEventListener('mouseup', (event) => {
if (event.button === 2) {
event.preventDefault();
console.log('box right click');
}
})
box.addEventListener('contextmenu', (event) => {
event.preventDefault();
})
</script>
Надо пересматривать такие интерфейсы. Не принято в WEB кликать правой клавишей. Это для контекстного меню. И реализовать для тачскринов будет проблематично.