javascript - 无法使用 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;
`````````````````````````````````
解决方案
实际上我认为您的代码正在运行,但是输入上的 click() 不会产生任何视觉效果。
要对其进行测试,请运行:
let input = document.getElementsByClassName('auth0-lock-input')[0]
input.addEventListener('click', () => alert('Clicked') )