Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何模拟按钮类上的按住单击_Javascript_Jquery - Fatal编程技术网

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。只需访问并搜索
触发器