Передайте события от нажатия мыши через абсолютно расположенный элемент

С помощью Синяя птица вы можете сделать это:

const dumpRaw = () => {
  return AsyncStorage.getAllKeys().then(keys => {
    return Promise.reduce(keys, (result, key) => {
      return AsyncStorage.getItem(key).then(value => {
        result[key] = value;
        return result;
      });
    }, {});
  });
};

dumpRaw().then(data => console.log(data));

291
задан s4y 23 April 2014 в 07:47
поделиться

2 ответа

If all you need is mousedown, you may be able to make do with the document.elementFromPoint method, by:

  1. removing the top layer on mousedown,
  2. passing the x and y coordinates from the event to the document.elementFromPoint method to get the element underneath, and then
  3. restoring the top layer.
48
ответ дан 23 November 2019 в 01:41
поделиться

Причина, по которой вы не получаете событие, заключается в том, что абсолютно позиционированный элемент не является дочерний элемент элемента, по которому вы хотите «щелкнуть» (синий div). Самый простой способ, который я могу придумать, - это поместить абсолютный элемент в качестве дочернего элемента того, который вы хотите щелкнуть, но я предполагаю, что вы не можете этого сделать, иначе вы бы не разместили этот вопрос здесь :)

Другой вариант - зарегистрировать обработчик события щелчка для абсолютного элемента и вызвать обработчик щелчка для синего div, в результате чего они оба будут мигать.

Из-за того, что события всплывают через DOM, я не уверен, что существует Более простой ответ для вас, но мне очень любопытно, есть ли у кого-нибудь еще какие-нибудь уловки, о которых я не знаю!

7
ответ дан 23 November 2019 в 01:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: