javascript - 当我拖动范围滑块时,什么 DOM 事件允许持续触发?
问题描述
我目前有一个滑块和它旁边的一个框,我想在其中显示滑块的当前值。当我将滑块从 0 拖动到 100 时,我希望框中的值不断变化。哪个 DOM 事件最能描述这种事件?目前我点击关闭它,所以在我完成移动滑块后它会更新框中的值。
let text1 = document.getElementById("sliderText1");
let slider1 = document.getElementById("slider1");
text1.textContent = slider1.value + "%";
slider1.addEventListener("mouseup",function(){
text1.textContent = slider1.value + "%"
});
<!DOCTYPE HTML>
<html>
<head>
<title></title>
</head>
<body>
<div style="float:left";>
<input type="range" id="slider1" min="0" max="100" value="50">
</div>
<div style = "float:left;">
<p id = "sliderText1" style = "margin-top: 2px; margin-left: 2px; border-style: solid"></p>
</div>
<script src="script.js"></script>
</body>
</html>
解决方案
您可以使用该mousemove
事件,这应该可以。
这是有关事件的 MDN 文档 https://developer.mozilla.org/en-US/docs/Web/API/Element/mousemove_event
let text1 = document.getElementById("sliderText1");
let slider1 = document.getElementById("slider1");
text1.textContent = slider1.value + "%";
slider1.addEventListener("mousemove",function(e){
text1.textContent = slider1.value + "%"
});
<!DOCTYPE HTML>
<html>
<head>
<title></title>
</head>
<body>
<div style="float:left";>
<input type="range" id="slider1" min="0" max="100" value="50">
</div>
<div style = "float:left;">
<p id = "sliderText1" style = "margin-top: 2px; margin-left: 2px; border-style: solid"></p>
</div>
<script src="script.js"></script>
</body>
</html>
推荐阅读
- airflow - 气流意外参数“安装”
- python - 使用 cvxopt 函数时如何摆脱“ValueError:除连接轴之外的所有输入数组维度必须完全匹配”错误?
- php - 如何设置 phpunit 的鳕鱼覆盖率?
- c# - 如何在 C# ASP.NET 中显示 Active Directory 中的所有安全组和这些组的成员?
- oauth-2.0 - 为什么为 microsoft graph api 请求不记名访问令牌不起作用?
- azure - 有没有办法使用 golang azure blob storage sdk 检索区域信息?
- python - python中超类中方法类型的方法类型
- algorithm - 为什么这个算法的复杂度是 O(n log(n)))?
- android - 如何在 ARCore 中放置没有表面检测的物体?
- django - 在IIS上部署Django的静态文件