- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 React 测试库来测试这个组件:
export default class A extends React.Component {
constructor(props) {
super(props);
this.titleParagraphRef = React.createRef();
this._tooltipTimer = null;
this.state = { shouldPopupBeEnabled: false, isTooltipShown: false };
this._showTooltip = this._showTooltip.bind(this);
this._hideTooltip = this._hideTooltip.bind(this);
}
componentDidMount() {
const { scrollWidth, clientWidth } = this.titleParagraphRef.current;
const shouldPopupBeEnabled = scrollWidth > clientWidth;
this.setState({ shouldPopupBeEnabled });
}
_showTooltip() {
const { tooltipShowTime } = this.props;
this._tooltipTimer = setTimeout(
() => {
this.setState({ isTooltipShown: true });
}, tooltipShowTime,
);
}
_hideTooltip() {
clearTimeout(this._tooltipTimer);
this.setState({ isTooltipShown: false });
}
render() {
const { shouldPopupBeEnabled, isTooltipShown } = this.state;
const { name, tooltipShowTime, ...rest } = this.props;
return (
<ToolTip
message={name}
toolTipPosition="top"
messageStyleName="warning-tool-tip"
popoverOpen={shouldPopupBeEnabled && isTooltipShown}
>
<div
ref={this.titleParagraphRef}
onMouseOver={this._showTooltip}
onMouseOut={this._hideTooltip}
onFocus={this._showTooltip}
onBlur={this._hideTooltip}
{...rest}
data-testid="title-tooltip"
>
{name}
</div>
</ToolTip>
);
}
}
我想测试的是,当我将鼠标悬停在标题上时,会显示工具提示。为此,我编写了这个测试:
test('When on hover, tooltip should be displayed', async () => {
const { getByTestId } = _renderToolTip();
const titleElement = getByTestId('title-tooltip');
fireEvent.mouseOver(titleElement);
expect(titleElement).toMatchSnapshot();
});
function _renderToolTip() {
return render(
<A name="VERY VERY VERY VERY VERY LONG TEXT" tooltipShowTime={50} />,
);
}
但是它不起作用。生成的快照不包含工具提示代码。我也尝试过使用 asFrament
,结果相同。该组件在浏览器中运行良好。知道如何测试此 mouseOver 事件吗?
最佳答案
由于您依赖于显示工具提示之前的 setTimeout
延迟,因此您需要修改您的测试以使其在断言之前等待鼠标悬停时出现的任何元素:https://testing-library.com/docs/guide-disappearance/#waiting-for-appearance
关于reactjs - 测试工具提示的 onHover 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64818993/
我正在为我的主页使用 CSS 动画。由于没有 onHover I 的对立面试过that : 但它对我来说真的不起作用。 看到那个: fiddle https://jsfiddle.net/mus8sd
我必须创建一个菜单栏,其中有类似 facebook 的通知球。我遇到了不能像 Facebook 那样在悬停时更改图像的问题。那我应该得到一些适当的解决方案吗?我的代码如下: #noti_Contain
我有一个输入框,当用户开始输入时,它会显示一个 div,其中包含他们可以选择的可能俱乐部列表。 我现在只是想给它添加一些样式,但我的 .clubLink:hover 类有问题。 CSS: .
是否有一种规范的方法可以使用现有的 onmouseover、onmouseout 和某种计时器来设置 JS onHover 事件?或者当且仅当用户将鼠标悬停在元素上一定时间时才触发任意函数的任何方法。
我正在使用 React 测试库来测试这个组件: export default class A extends React.Component { constructor(props) {
我在 SwiftUI 中制作了一些自定义 slider View ,它们根据悬停状态更改外观,但是如果鼠标移出太快(这实际上是移动光标的非常合理的速度),它会保持悬停状态,直到您重新-缓慢悬停并重新离
所以我试图通过改变状态来改变悬停时的元素颜色,问题是所有元素都会因为状态而改变。如何做到只有一个元素会改变? 问题链接: https://repl.it/@RokasSimkus/TediousTes
假设您有一个圆圈。当您将鼠标悬停在圆圈内时如何更改其颜色? 我试过了 struct ContentView: View { @State var hovered = false var
我正在尝试实现由“悬停”触发的多级 Bootstrap 菜单。第一级工作得很好。然而,对于更深层次的菜单,菜单将所有内容都显示为“可见”。需要自定义 CSS 的帮助,以便悬停功能正常工作并仅显示所需的
我有几个 div。每个div都有一个唯一的id。 这是 div 的: Box 1 Box 2 Box 3 Box 4 Box 5 Box 6 Box 7 Box 8 Box 9 这是数据外观的示例。
我正在访问这个网站: http://vsearch.nlm.nih.gov/vivisimo/cgi-bin/query-meta?v:project=medlineplus&query= 我遇到了“
我使用以下代码: Widget getSelectSortBy() { return InkWell( onHover: (value) { setSt
我正在构建自己的折线图,想知道如何制作 悬停时线交互。 例如(简化): 当用户悬停在 5,10 上时,我将如何执行悬停事件或 10,20并显示 还是只是一般的命令?有什么我遗漏的吗,或者我必须检测鼠
我想知道是否有办法让 css :onhover 发生得更快(即我距离链接 10px,并且 :onhover 调用,同时仍然10 像素远)。 编辑:我正在尝试找出一种方法来更改滚动条的 :onhover
目前我正在尝试在我的 map 组件上复制此网站的悬停效果:http://www.francoisrisoud.com/projects基本上,当您将鼠标悬停在一个点上时,它会显示一个全屏图像,当您单击
所以我在网站顶部有一个菜单,其中有一些下拉菜单。下拉菜单是显示 onclick 的脚本,我想更改它们以在将鼠标悬停在其上时触发事件。 我相信这是它的脚本: http://babblespot.com/
目前,我在我的页面中有一个外部脚本,它会导致 div“contact”内的文本根据悬停的“item”元素改变颜色。现在我希望不仅是“联系人 div 改变颜色,而且菜单 div 和类(class) di
如果你看右边,有一个缩略图库。我需要将操作从“点击”更改为“悬停”。我不是 javascript 开发人员,此时更改脚本将是徒劳的(修改这个脚本需要花费太多时间...出于其他原因)。 如果您能帮我找到
如何使用 jQuery 选择区域元素?当鼠标悬停在区域元素上时,我需要更改隐藏的 div 元素上的 CSS。我无法使用 CSS 来完成此操作,因为区域元素不受 CSS 影响。 jQuery: (fun
我想要 onHover 和 onClick 效果。寻找具有专业 CSS 样式的简洁优雅的解决方案。 要求:悬停在上述任何元素上时,我想用灰色背景框包围元素。 和 onclick 我想用一个背景颜色作为
我是一名优秀的程序员,十分优秀!