Как воспроизвести поведение событий-указателей: нет в JavaScript

#javascript #css #layout #pointer-events

#javascript #css #макет #события-указатели

Вопрос:

Возможно ли зафиксировать событие onClick в div, но игнорировать любое другое поведение, поскольку событиям-указателям присвоено значение none?

У меня есть два раздела, фон и что-то вроде кнопки, перекрывающей этот фон. Я фиксирую событие перетаскивания в фоновом режиме, и мне нужно также зафиксировать это событие перетаскивания, если запустить по кнопке. Я могу добиться этого, просто установив мою кнопку как pointer-events:none но тогда я не могу зафиксировать onClick на ней.

Другими словами, я должен воспроизвести поведение pointer-events:none в JavaScript.

Комментарии:

1. event.preventDefault смотрите: developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

2. Применение preventDefault ко всем возможным событиям мыши не приводит к pointer-events:none . Я пытался с: click,mousedown,mouseup,dblclick,mousemove,mouseover,mouseout

3. извините, позвольте мне уточнить. Всплывающие события. Если я нажимаю на div, событие click запускается как для div, так и для body. Если я прослушаю событие click в div и использую e.preventDefault() , то тело не получит событие; оно не будет загружено.

4. Поэтому, я думаю, невозможно предотвратить div и зафиксировать событие body. Это правильно?

5. AFAIK, это правильно, но я был бы рад узнать, что я ошибаюсь.

Ответ №1:

Попробуйте это: Event.preventDefault()

Комментарии:

1. Извините, не заметил