Javascript 如何模拟按钮类上的按住单击
如何模拟按住按钮并单击按钮? 我可以在其中使用Javascript 如何模拟按钮类上的按住单击,javascript,jquery,Javascript,Jquery,如何模拟按住按钮并单击按钮? 我可以在其中使用元素[0]。单击()要模拟单击,我如何使其按住按钮5秒钟而不是仅仅松开按钮 示例代码 <!DOCTYPE html> <html> <body> <button class="button" id="button">You released the mouse button.</p> <script> document.getEleme
元素[0]。单击()
要模拟单击,我如何使其按住按钮5秒钟而不是仅仅松开按钮
示例代码
<!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>
你松开了鼠标按钮
document.getElementById(“按钮”).onmousedown=function(){mouseDown()};
document.getElementById(“按钮”).onmouseup=function(){mouseUp()};
函数mouseDown(){
document.getElementById(“按钮”).innerHTML=“鼠标按钮被按住。”;
}
函数mouseUp(){
document.getElementById(“按钮”).innerHTML=“您释放了鼠标按钮。”;
}
您可以自己创建事件,当然也可以自己创建事件
在现代浏览器中,只需调用所需事件类型的构造函数,或者调用document.createEvent(“”)
然后,您可以使用dispatchEvent()
document.getElementById(“按钮”).onmousedown=function(){mouseDown()};
document.getElementById(“按钮”).onmouseup=function(){mouseUp()};
函数mouseDown(){
document.getElementById(“按钮”).innerHTML=“鼠标按钮被按住。”;
}
函数mouseUp(){
document.getElementById(“按钮”).innerHTML=“您释放了鼠标按钮。”;
}
//模拟按钮上的绑定单击事件
document.querySelector('.simulate').addEventListener('click',()=>{
console.log('start');
simulateMouseEvent(document.getElementById(“按钮”),“mousedown”)
设置超时(()=>{
console.log('end');
simulateMouseEvent(document.getElementById(“按钮”),“mouseup”)
}, 5000)
})
//封装事件触发器内容
//见:http://youmightnotneedjquery.com/
函数simulateMouseEvent(el,事件){
if(window.MouseEvent&&typeof window.MouseEvent==='function'){
var事件=新的MouseEvent(事件);
}否则{
var event=document.createEvent('MouseEvent');
event.initMouseEvent(事件);
}
el.调度事件(事件);
}
你松开了鼠标按钮。
模拟
您可以自己创建事件,当然也可以自己创建事件
在现代浏览器中,只需调用所需事件类型的构造函数,或者调用document.createEvent(“”)
然后,您可以使用dispatchEvent()
document.getElementById(“按钮”).onmousedown=function(){mouseDown()};
document.getElementById(“按钮”).onmouseup=function(){mouseUp()};
函数mouseDown(){
document.getElementById(“按钮”).innerHTML=“鼠标按钮被按住。”;
}
函数mouseUp(){
document.getElementById(“按钮”).innerHTML=“您释放了鼠标按钮。”;
}
//模拟按钮上的绑定单击事件
document.querySelector('.simulate').addEventListener('click',()=>{
console.log('start');
simulateMouseEvent(document.getElementById(“按钮”),“mousedown”)
设置超时(()=>{
console.log('end');
simulateMouseEvent(document.getElementById(“按钮”),“mouseup”)
}, 5000)
})
//封装事件触发器内容
//见:http://youmightnotneedjquery.com/
函数simulateMouseEvent(el,事件){
if(window.MouseEvent&&typeof window.MouseEvent==='function'){
var事件=新的MouseEvent(事件);
}否则{
var event=document.createEvent('MouseEvent');
event.initMouseEvent(事件);
}
el.调度事件(事件);
}
你松开了鼠标按钮。
模拟
您可以使用来调度mousedown事件,等待5秒,然后调度mouseup事件。使用jQuery,您可能可以对触发器(“mousedown”)执行相同的操作。
对于mouseup,您不需要jQuery。只需访问并搜索trigger
。您可以使用来分派mousedown事件,等待5秒钟,然后分派mouseup事件。使用jQuery,您可能可以对trigger('mousedown')
执行相同的操作,而mouseup也不需要jQuery。只需访问并搜索触发器
。