简体   繁体   English

如何模拟按住按钮类的点击

[英]How to simulate a hold click on a button class

How can i simulate a hold click down onto a button?如何模拟按住按钮的点击? where i can use elements.[0].click();我可以使用elements.[0].click(); to simulate a click, how can I make it so that it would hold down the button for eg 5 seconds instead of just letting it go?要模拟点击,我怎样才能让它按住按钮 5 秒钟而不是让它离开?

sample code示例代码

<!DOCTYPE html>
<html>
<body>

<button class="button" id="button">You released the mouse button.</p>

<script>
document.getElementById("button").onmousedown = function() {mouseDown()};
document.getElementById("button").onmouseup = function() {mouseUp()};

function mouseDown() {
  document.getElementById("button").innerHTML = "The mouse button is held down.";
}

function mouseUp() {
  document.getElementById("button").innerHTML = "You released the mouse button.";
}
</script>

</body>
</html>

You can create events and of cause also MouseEvents yourself.您可以自己创建事件,当然也可以创建MouseEvents

In modern browsers you can just do this by calling the constructor of the needed event type, ore by calling document.createEvent('<EventName>') https://developer.mozilla.org/en-US/docs/Web/API/Event在现代浏览器中,您可以通过调用所需事件类型的构造函数来完成此操作,或者通过调用document.createEvent('<EventName>') https://developer.mozilla.org/en-US/docs/Web/API /事件

You can then trigger this event on any element you like using dispatchEvent() https://developer.mozilla.org/de/docs/Web/API/EventTarget/dispatchEvent然后,您可以使用dispatchEvent() https://developer.mozilla.org/de/docs/Web/API/EventTarget/dispatchEvent在您喜欢的任何元素上触发此事件

 document.getElementById("button").onmousedown = function() {mouseDown()}; document.getElementById("button").onmouseup = function() {mouseUp()}; function mouseDown() { document.getElementById("button").innerHTML = "The mouse button is held down."; } function mouseUp() { document.getElementById("button").innerHTML = "You released the mouse button."; } // bind click event on simulate button document.querySelector('.simulate').addEventListener('click', () => { console.log('start'); simulateMouseEvent(document.getElementById("button"), 'mousedown') setTimeout(() => { console.log('end'); simulateMouseEvent(document.getElementById("button"), 'mouseup') }, 5000) }) // capsulate the event trigger stuff // see: http://youmightnotneedjquery.com/ function simulateMouseEvent(el, event){ if (window.MouseEvent && typeof window.MouseEvent === 'function') { var event = new MouseEvent(event); } else { var event = document.createEvent('MouseEvent'); event.initMouseEvent(event); } el.dispatchEvent(event); }
 <!DOCTYPE html> <html> <body> <p> <button class="button" id="button">You released the mouse button.</button> </p> <p> <button class="simulate">simulate</button> </p> </body> </html>

如何模拟点击<div role="“button”"> ?</div><div id="text_translate"><p> 我在 web 页面上有一个元素。</p><pre> &lt;div class="profile-action profile-action--lg profile-action--color-yes profile-action--filled js-profile-header-vote-yes js-profile-header-vote" data-choice="yes" role="button"&gt; &lt;div class="profile-action__icon"&gt; &lt;i class="icon icon--stretch"&gt; &lt;svg class="icon__svg"&gt; &lt;use xlink:href="#floating-action-yes"&gt;&lt;/use&gt; &lt;/svg&gt; &lt;/i&gt; &lt;/div&gt; &lt;/div&gt;</pre><p> 我正在尝试通过以下代码模拟点击事件。</p><pre> document.getElementsByClassName("js-profile-header-vote-yes")[0].click()</pre><p> 它不会模拟对该元素的任何点击。 我究竟做错了什么?</p><p> 编辑:我已经尝试过 jQuery 和 dispatchEvent,它们也不起作用。 我也试过 selenium,它可以工作,但这不是我想要的。</p><p> Edit2:我不想处理点击事件,我想模拟点击方法。</p></div> - How to simulate click on <div role=“button”>?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用参数模拟单击按钮 - How to simulate a click button with parameters 如何模拟点击Kendoui按钮 - How to simulate click on Kendoui button 如何在 AJAX 中模拟按钮单击 - How to simulate a button click in AJAX 如何模拟没有ID的按钮类“输入按钮蓝色”点击 - How simulate click on button Class “input-button blue” without id 如何在Facebook分享按钮上模拟点击事件 - how to simulate the click event on the facebook share button 如何模拟图像按钮的单击 - How to simulate an image-button click 如何通过单击 Javascript 的按钮来模拟按键? - How to simulate keypress with a button click on Javascript? 如何模拟点击<div role="“button”"> ?</div><div id="text_translate"><p> 我在 web 页面上有一个元素。</p><pre> &lt;div class="profile-action profile-action--lg profile-action--color-yes profile-action--filled js-profile-header-vote-yes js-profile-header-vote" data-choice="yes" role="button"&gt; &lt;div class="profile-action__icon"&gt; &lt;i class="icon icon--stretch"&gt; &lt;svg class="icon__svg"&gt; &lt;use xlink:href="#floating-action-yes"&gt;&lt;/use&gt; &lt;/svg&gt; &lt;/i&gt; &lt;/div&gt; &lt;/div&gt;</pre><p> 我正在尝试通过以下代码模拟点击事件。</p><pre> document.getElementsByClassName("js-profile-header-vote-yes")[0].click()</pre><p> 它不会模拟对该元素的任何点击。 我究竟做错了什么?</p><p> 编辑:我已经尝试过 jQuery 和 dispatchEvent,它们也不起作用。 我也试过 selenium,它可以工作,但这不是我想要的。</p><p> Edit2:我不想处理点击事件,我想模拟点击方法。</p></div> - How to simulate click on <div role=“button”>? 如何在 CodeMirror 中通过单击按钮来模拟按键? - How to simulate a keypress with button click in CodeMirror? 如何在没有 class 的情况下模拟点击 Div - How Simulate Click on Div without class
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM