- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试实现一个十字准线光标,一旦光标进入 Canvas ,它将通过 MouseEnter 激活。但是,光标变为十字准线后,即使离开 Canvas ,它仍然是十字准线。我希望十字准线光标仅在 Canvas 内激活,并且一旦离开 Canvas ,光标就会恢复为默认光标。
CSS:
#crosshair-h {
width: 100%;
}
#crosshair-v {
height: 100%;
}
.hair {
position: fixed;
top:0; left:0;
margin-top: -3px;
margin-left: -2px;
background: transparent;
border-top: 1px dotted #000;
border-left: 1px dotted #000;
pointer-events: none;
z-index: 2;
}
#mousepos {
position: absolute;
top:0; left:0;
padding: 10px;
margin: 10px;
font: 14px arial;
color: #fff;
background: rgba(0,0,0,0.5);
border-radius: 24px;
z-index: 1;
}
JavaScript:
$(document).ready(function() {
// Setup our variables
var cH = $('#crosshair-h'),
cV = $('#crosshair-v');
$(this).on('mousemove touchmove', function(e) {
var x = e.pageX - 1;
var y = e.pageY - 1;
cH.css('top', e.pageY);
cV.css('left', e.pageX);
$('#mousepos').css({
top: e.pageY + 'px',
left: e.pageX + 'px'
}, 800);
$('#mousepos').text( "X: " + x + "px, Y: " + y + "px");
e.stopPropagation();
});
// Anchor Hover Effects
$("a").hover(function() {
$(".hair").stop().css({borderColor: "#fff"}, 800)},
function() {
$(".hair").stop().css({borderColor: "black"},800)
});
e.stopPropagation();
});
感谢任何帮助,谢谢!
最佳答案
如果默认十字线光标就足够了,您可以使用简单的 CSS 悬停规则来实现:
canvas {
border: 1px solid grey;
height: 50px;
width: 100px;
}
canvas:hover {
cursor: crosshair;
}
<canvas></canvas>
如果您确实需要自定义的,可以在 Canvas 上使用 mouseleave 或 mouseout 事件来删除 css 类。
关于javascript - 光标离开 Canvas 后,如何使用 MouseLeave 将光标改回原来的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52092398/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
输入以下 URL,然后使用解码来删除 %3AF%2 等 http%3AF%2Fmo-d6fa3.ao.tzp.corp%3A3000%2Flogin%2Fcallback&client_id=x2.n
从 SimpleSnitch 到 PropertyFileSnitch 或 Gossiping 我成功了,但相反的过程没有。 到此结束: 如果告密者的数据中心 (datacenter1) 与之前的数据
从 SimpleSnitch 到 PropertyFileSnitch 或 Gossiping 我成功了,但相反的过程没有。 到此结束: 如果告密者的数据中心 (datacenter1) 与之前的数据
我有以下功能: $('#jaTack').click(function() { $('#syskon').slideToggle(); $('#jaTack').htm
我正在 Google Colab 上运行模型。我想做的最后一步是打印图像,并显示模型的前 5 个分类预测。这是代码: image = process_image(imgpath) index = 17
我知道您可以像这样将 div 变成 ACE 编辑器: var editor = ace.edit("editor"); 如何将其改回正常的 div? 最佳答案 editor.destroy 不会从 d
有什么方法可以将 unity 中的默认脚本编辑器更改为 MonoDevelop?使用 Visual Studio 非常复杂且缓慢。 最佳答案 打开 Unity,选择一个项目,然后转到顶部菜单栏。 转到
我最近有点喜欢 bash 而不是 fish,我想知道我是否可以将它改回来。我试过这个命令:chsh -s/bin/bash 但关闭终端并重新打开它不会将它恢复到 bash,但它仍然是 fish。 事实
我是一名优秀的程序员,十分优秀!