我真的很想知道当您点击(在移动设备上)或单击(在桌面设备上)表单提交/ anchor 等时是否有任何方法可以执行功能。并在不使用 jQuery 的情况下保持一段时间!
function clicked() {
//set some kind of timer or so...
}
function toBeExecutedNMillisecondsAfterAnchorWasClicked() {
//do some stuff...
}
最佳答案
(function() {
var mouseTimer;
function mouseDown() {
mouseUp();
mouseTimer = window.setTimeout(execMouseDown,2000); //set timeout to fire in 2 seconds when the user presses mouse button down
}
function mouseUp() {
if (mouseTimer) window.clearTimeout(mouseTimer); //cancel timer when mouse button is released
div.style.backgroundColor = "#FFFFFF";
}
function execMouseDown() {
div.style.backgroundColor = "#CFCF00";
}
var div = document.getElementById("bam");
div.addEventListener("mousedown", mouseDown);
document.body.addEventListener("mouseup", mouseUp); //listen for mouse up event on body, not just the element you originally clicked on
}());
#bam { width:100px; height: 100px; border: 1px solid black; }
<div id="bam"> Hold mouse button for 2 seconds. </div>
<p>Bacon</p>
<p>Bacon</p>
<p>Bacon</p>
<p>Bacon</p>
<p>Bacon</p>
<p>Bacon</p>
<p>Bacon</p>
<p>Bacon</p>
<p>Bacon</p>
关于javascript - 用 javascript 举行事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27402897/