2017-02-07 2 views
0

Я хочу отключить mouseClick на всех моих сайтах, кроме div в середине. Но я не знаю, как это сделать, может быть, и так.Отключить mouseClick на части экрана

+0

Ваш вопрос очень широк. См. [Http://www.wikihow.com/Ask-a-Question-on-Stack-Overflow](http://www.wikihow.com/Ask-a-Question-on-Stack-Overflow) –

ответ

0

Вам нужно добавить обработчик событий к div с addEventHandler. Внутри обработчика вам нужно использовать event.preventDefault() для поведения по умолчанию для события, которое нужно отменить, и event.stopPropagation(), чтобы остановить событие от пузырьков до родительских элементов. В приведенном ниже примере, если вы нажмете на красный квадрат, он напечатает «clicked». Если щелкнуть внутри квадрата, ничего не происходит:

document.addEventListener('click', function(e) { 
 
    console.log("clicked"); 
 
}); 
 

 
document.getElementById('disabled-mouse').addEventListener('click', function(event) { 
 
    event.preventDefault(); 
 
    event.stopPropagation(); 
 
});
#disabled-mouse { 
 
    margin: 20px; 
 
    width: 50px; 
 
    height: 50px; 
 
    background-color: red; 
 
}
<div id="container"> 
 
    <div id="disabled-mouse"> 
 
    </div> 
 
</div>

Это отменяет только левой кнопкой мыши. Если вам нужно отменить другие события, вам нужно сделать то же самое для них. Просмотрите список событий мыши: Mouse Events

+0

Спасибо, что именно это! – Blinkix

+0

@Blinkix, пожалуйста, примите этот ответ, если он решил вашу проблему – jetpackpony

0

Если я понял вопрос правильно, Вам просто нужно использовать event.stopPropagation();

Jsfiddle: https://jsfiddle.net/awyru3LL/

Good Luck

+0

нет извините что не совсем так, но я очень благодарен! – Blinkix

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