Javascript onmousedown更改光标;可能需要控制事件冒泡

Javascript onmousedown更改光标;可能需要控制事件冒泡,javascript,cursor,onmousedown,Javascript,Cursor,Onmousedown,对于我的一个项目,我需要将自定义光标更改为onmousedown,并将其更改为onmouseup和onmouseout。目前,我只对Chrome浏览器感兴趣,稍后将介绍不同的浏览器 所以我从下面的代码开始 html: 所需的更改似乎只有在我将鼠标移动最少一次后才会发生,因为如果我将鼠标移动得更广泛,光标默认为文本光标 但是,如果我尝试对背景图像而不是光标进行onmousedown更改,它确实可以在onmousedown上工作! ~~~~~~~~~~~~~~~~ 接下来,我尝试使用javascri

对于我的一个项目,我需要将自定义光标更改为onmousedown,并将其更改为onmouseup和onmouseout。目前,我只对Chrome浏览器感兴趣,稍后将介绍不同的浏览器

所以我从下面的代码开始

html:

所需的更改似乎只有在我将鼠标移动最少一次后才会发生,因为如果我将鼠标移动得更广泛,光标默认为文本光标

但是,如果我尝试对背景图像而不是光标进行onmousedown更改,它确实可以在onmousedown上工作! ~~~~~~~~~~~~~~~~

接下来,我尝试使用javascript通过以下代码获得所需的效果: html:

javascript:

function chcursor ()
{
document.getElementById('firstspot').style.cursor = "url(img/cur/hand-grab-right.cur),wait";
}

function chback ()
{
document.getElementById('firstspot').style.cursor = "url(img/cur/hand-point-right.cur),wait";
}
这产生了几乎相同的延迟效果,而onmouseup和onmouseout的添加效果非常好。因此,抓取手光标仅在鼠标向下移动一次后才可见。 ~~~~~~~~~~~~~~~~~~~~`

研究揭示了一种叫做事件冒泡的现象

我想开始测试/控制这种现象,并希望有人能给我指出正确的方向

到目前为止,我遇到了无法完成且无法创建所需光标更改的问题

与使用js库相比,我更喜欢纯javascript解决方案,为什么要为一个可能只需要几行js的解决方案添加几公斤的库呢?但我将对此表示感谢


请记住,我不是一名专业的web开发人员。

我认为您应该在“onmousedown”和其他事件处理程序的末尾包含一个return false。这应该可以防止“事件冒泡”

请参见以下示例:

我认为应该在“onmousedown”和其他事件处理程序的末尾包含一个return false。这应该可以防止“事件冒泡”

请参见以下示例:

这个怎么样为你的贡献干杯。但是,我尝试了这个,没有任何改进。也没有任何改进。怎么样?为你的贡献干杯。但是,我尝试了这个,没有任何改进。没有任何改进,但这在Chrome上不起作用。我正在寻找一个解决方案,但Chrome和Firefox不确定其他浏览器是否有不同的表现。在上面的jsbin示例中,Firefox按预期工作。mousedown事件触发光标更改后,在Chrome上,即使document.body.style.cursor正在报告更新的光标图形,鼠标启动时cusor也会更改。这在Chrome上不起作用。我正在寻找一个解决方案,但Chrome和Firefox不确定其他浏览器是否有不同的表现。在上面的jsbin示例中,Firefox按预期工作。mousedown事件触发光标更改后,在Chrome上,即使document.body.style.cursor正在报告更新的光标图形,鼠标启动时cusor也会更改。
#firstspot {
position:absolute;
width:145px;
height:145px;
margin-left:58px;
top:144px;
cursor:url(img/cur/hand-point-right.cur),wait;
}

#firstspot:active {
cursor:url(img/cur/hand-grab-right.cur),wait;
}
<div id="firstspot" onmousedown="chcursor();" onmouseup="chback();" onmouseout="chback();"></div>
#firstspot {
position:absolute;
width:145px;
height:145px;
margin-left:58px;
top:144px;
cursor:url(img/cur/hand-point-right.cur),wait;
}
function chcursor ()
{
document.getElementById('firstspot').style.cursor = "url(img/cur/hand-grab-right.cur),wait";
}

function chback ()
{
document.getElementById('firstspot').style.cursor = "url(img/cur/hand-point-right.cur),wait";
}