当前位置: 首页 > 知识库问答 >
问题:

滑块(范围)应该触发哪个事件才能正常工作?

班展
2023-03-14

我有以下输入,我转换成一个滑块:

    <div id="slidecontainer">
      <input #ranger type="range" min="{{minInterval}}" max="{{maxInterval}}" step="100" [(ngModel)]="interval"
        (click)="onStart()" class="slider">
    </div>

(点击)似乎是错误的角度事件。当鼠标指针没有悬停在滑块上时,只要拖动并放开它,onStart()就不会执行。

我尝试过其他活动,比如(dragexit),(mouseup)或其他什么,但都没有成功。当我拖动这个滑块时,不管鼠标在哪里,它都应该执行onStart()-方法

这是我的CSS(这应该无关紧要):

#slidecontainer {
  width: 100%;
  padding-bottom: 10px;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 15px;
  border-radius: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #4CAF50;
  cursor: pointer;
}

.slider:hover {
  opacity: 1; /* Fully shown on mouse-over */
}

以下是我的组件中的数字(在HTML文件中提到):

  interval: number = 3000;
  minInterval: number = 0;
  maxInterval: number = 5000;

共有2个答案

澹台建华
2023-03-14

您应该使用内置的更改事件监听更改,如下所示:

(change)="onStart(ranger.value)"

所以你的输入应该是这样的:

 <input #ranger type="range" min="{{minInterval}}" max="{{maxInterval}}" step="100" [(ngModel)]="interval"
        (change)="onStart(ranger.value)" class="slider">
漆雕疏珂
2023-03-14

尝试使用onChange或ng-change。当滑块的值改变时,它们会触发,所以即使鼠标从滑块上移动,事件也会激活。

希望有帮助

 类似资料:
  • 在我的Angular 2应用程序中,我使用普通的HTML5输入类型“范围”为用户提供一个简单的滑块组件。 我需要知道用户何时释放滑块。释放意味着使用鼠标完成拖动并释放鼠标按钮。为此,我参加了OnMouseUp活动。然而,这不适用于我使用触摸设备的情况。 在我的平板电脑,我可以拖动滑块aroun,但当释放它与我的手指的事件是没有发射。 我知道,这不是鼠标,但是什么事件相当于在鼠标上运行并在触摸设备上

  • 我有一个960x540窗口,我正在使用OpenGL创建。在这里渲染一个纹理,并使用imgui实现一个滑块,让我在运行时翻译x、y和z位置。 首先,我设置滑块默认值。 稍后,在我的循环中,只要窗口打开,就会逐帧渲染对象的位置,我将ImGui::SliderFloat3和v\u min参数设置为窗口的尺寸。似乎所有3个滑块x、y和z都使用这些值,但是否有方法为每个滑块设置范围?正如你所看到的,我的y轴

  • 我正在尝试定制一个范围滑块根据我的需要我几乎在那里除了它的方向,目前它是水平对齐的,应该是垂直的。 我尝试添加和以及 不走运。 当前代码库如下:Style 标记 是不是我漏了什么?如有任何帮助,我们将不胜感激。谢谢

  • 本文向大家介绍jQuery UI Library 范围滑块,包括了jQuery UI Library 范围滑块的使用技巧和注意事项,需要的朋友参考一下 示例 范围滑块提供2个可拖动的手柄以选择数值。滑块的初始化必须提供一个range选项集true来创建范围滑块:            

  • 我制作了一个滑块,它的额外功能是允许用户轻松地将其设置为精确的中心。试试看它是如何在中间停止的,但是如果你继续拖着它穿过停止区或者拖拽它,你可以在任何地方滑动它。 如果用户将滑块旋钮拖动到中点并释放鼠标,那么“粘性”应该被移除,这样当用户再次开始拖动时,它就不会开始“卡住”。 问题是,如果用户将其滑离起始点的中点,然后将其滑回中点,事件将不会触发,因为最终值实际上没有改变。 我尝试使用/而不是,但

  • 我正在用一个需要JPA(classes)的项目测试Java9。当我添加<code>模块信息时。java并声明我的模块,包变得不可用。 我搜索了很多,但找不到在Java9模块项目中使用JPA所需的模块。 更新 正如艾伦建议的那样,我跑了 但还是有了这个 我得到“module-info.java:[3,18] module not found: java.persistence”。 更新2这是我的项目