可以使用 JavaScript 中的 event 对象来创建计时器,根据按下时间的长短来触发不同的 onclick 事件。具体实现可以参考以下示例代码:
HTML 代码:
JavaScript 代码:
var btn = document.getElementById("btn"); var clicked_id = "btn"; var start_time = 0;
btn.addEventListener("mousedown", function(e){ clicked_id = e.target.id; // 获取点击事件的 id start_time = new Date().getTime(); // 获取鼠标按下的时间 setTimeout(longClick, 1000); // 设置计时器,时间为 1 秒钟 });
btn.addEventListener("mouseup", function(e){ if (new Date().getTime() - start_time < 1000) { shortClick(clicked_id); // 按下时间小于 1 秒时触发的 onclick 事件 } });
function longClick() { longPress(clicked_id); // 按下时间大于等于 1 秒时触发的 onclick 事件 }
function shortClick(id) { console.log("You just clicked the button with id " + id + " shortly."); }
function longPress(id) { console.log("You just pressed the button with id " + id + " for long time."); }
在这段代码中,我们首先获取了按钮的 id 和鼠标按下的时间,并根据时间长短触发不同的 onclick 事件。如果按钮被按下的时间小于 1 秒钟,则触发 shortClick 函数,否则触发 longPress 函数。
上一篇:按下时更改文本颜色”的
下一篇:按下事件和拖动开始事件