首页 > 解决方案 > 无法使用 javascript/jquery 在输入框中生成鼠标单击事件

问题描述

我无法在输入框中生成鼠标单击事件。我正在尝试模拟用户单击鼠标。

我正在尝试使用 Chrome 控制台来运行这些控制台,但没有一个工作正常。

我试过使用下面的代码。

HTML 输入框:

<input type="email" name="email" class="auth0-lock-input" placeholder="yours@example.com"
       autocomplete="off" autocapitalize="off" aria-label="Email" aria-invalid="false"
       value="">

Javascript:

document.getElementsByClassName('auth0-lock-input')[0].click();

或者

document.getElementsByClassName('auth0-lock-input')[0].mouseenter();

或者

let element= document.getElementsByName('email');
for (elt of element) {
   elt.mouseenter();
}

```````````````````反应监听器`````````````````````````

trapBubbledEvent: function (topLevelType, handlerBaseName, element) {
    if (!element) {
      return null;
    }
    return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));
  trapCapturedEvent: function (topLevelType, handlerBaseName, element) {
    if (!element) {
      return null;
    }
    return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));
  },
  monitorScrollValue: function (refresh) {
    var callback = scrollValueMonitor.bind(null, refresh);
    EventListener.listen(window, 'scroll', callback);
  },
  dispatchEvent: function (topLevelType, nativeEvent) {
    if (!ReactEventListener._enabled) {
      return;
    }
    var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent);
    try {
      ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping);
    } finally {
      TopLevelCallbackBookKeeping.release(bookKeeping);
}
};
module.exports = ReactEventListener;
`````````````````````````````````

标签: javascriptjquery

解决方案


实际上我认为您的代码正在运行,但是输入上的 click() 不会产生任何视觉效果。

要对其进行测试,请运行:

let input = document.getElementsByClassName('auth0-lock-input')[0]
input.addEventListener('click', () => alert('Clicked') )

推荐阅读