javascript - 具有固定位置的弹出光标跟随工具提示不允许我填写输入元素并在远离表格时跳转(JSFIDDLE)
问题描述
我正在尝试使用此答案的工具提示代码,但遇到了一些问题。工具提示不允许我在<input>
元素中输入文本,并且当我向下滚动表格时也会跳转,如下所示:
虽然它应该跟随光标。我做了这个小提琴:https://jsfiddle.net/nuvgef12/这是代码:
CSS:
.tooltip {
display: inline-block;
position: fixed;
padding: .5em 1em;
background-color: red;
}
html:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h4 id="log">pageX: -, pageY: -</h4>
<div class="tooltip">I'm a tooltip!</div>
<input type="text" placeholder="Enter something">
<table class='items'>
<thead>
<tr class="table-header">
<th>Id</th>
<th>Icon</th>
<th>Name</th>
</tr>
</thead>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>12</td>
<td>12</td>
<td>12</td>
</tr>
...
js:
$( document ).on( "mousemove", function( event ) {
$( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
$( ".tooltip" ).css({
"left" : event.pageX,
"top" : event.pageY
});
});
编辑:
给定的解决方案有助于将文本放入输入中,但仍然存在跳跃问题。它发生在向下滚动表格后 - 工具提示短暂消失,然后重新出现在下方和侧面。
解决方案
如果您在工具提示中添加一点边距,它将让您的指针单击输入而不是工具提示
.tooltip {
display: inline-block;
position: fixed;
margin: 1px;
background-color: red;
}
推荐阅读
- javascript - AngularJS - 错误:[$compile:tpload] 无法加载模板(Spring Boot)
- laravel - 在控制器索引函数中检索相关字段会出错,但在显示函数中可以
- java - 如何从我的班级获取参考类记录器消息作为字符串
- python - Django:HTML中的自动编号
- reactjs - 反应站点地图.xml
- c++ - 在 ARM / Raspberry PI 上的多个内核上运行 Eigen 密集矩阵乘法时性能下降
- ruamel.yaml - 使用 ruamel yaml 保留 YAML 的结构
- python - 带有 macOS Big Sur 11.2.1 的苹果 m1 安装软件失败,出现终止错误
- google-apps-script - 谷歌驱动评论,下一个 PageToken 和登录到谷歌表
- amazon-web-services - AWS Amplify 中的应用程序设置下不存在监控选项