Javascript/Onclick - 鼠标移动时鼠标指针

问题描述:

我正在使用投票按钮。Javascript/Onclick - 鼠标移动时鼠标指针

该按钮是一个简单的链接,但搜索引擎蜘蛛爬行页面并触发虚假投票。所以,我把它改成了onclick来停止。

但是,这样做后,按钮仍然工作正常,但鼠标光标不再有'手'指针。当你鼠标悬停时,它仍然是箭头指针,所以很难说它是一个实际运行的链接。为了解决这个问题,我添加了一个style =“cursor:default;”,我也尝试过style =“cursor:crosshair;”尝试更改游标行为,但它不起作用。光标始终保持指针。

这里是我的代码:

<map id="vote_buttons" name="vote_buttons"> 
    <area shape="rect" alt="" coords="5,3,78,43" onClick="window.location='http://www.site.com/page.php?vote=Y'" style="cursor:default;" title="" /> 
    <area shape="rect" alt="" coords="83,3,160,44" onClick="window.location='http://www.site.com/page.php?vote=N'" style="cursor:pointer;" title="" /> 
    <area shape="default" nohref="nohref" alt="" /> 
</map> 

缺少什么我在这里,使这个鼠标悬停看起来像一只手?

一如既往地提前致谢。

+4

尝试'光标:指针;' – 2013-02-28 23:42:47

+0

我有光标:指针;在我上面的例子中。我使用不正确? – Kevin 2013-02-28 23:47:37

所以我周围发现了一个工作。我并不完全满意,但它似乎在做这项工作。基本上,我只是给标签添加了一个href =“#”。这使得手出现,大部分时间点击工作就像它应该。

<map id="vote_buttons" name="vote_buttons"> 
    <area href="#" shape="rect" alt="" coords="5,3,78,43" onClick="window.location='http://www.site.com/page.php?vote=Y'" style="cursor:default;" title="" /> 
    <area href="#" shape="rect" alt="" coords="83,3,160,44" onClick="window.location='http://www.site.com/page.php?vote=N'" style="cursor:pointer;" title="" /> 
</map> 
+0

您也可以将完整的网址添加到href(而不是#)并删除onClick。 – zangrafx 2015-08-21 10:05:54

+1

这在很多层次上都是“错误的”: *仅仅为了显示指针光标而添加假href并不是一个好的做法。 *使用onclick事件只是为了重定向(而不是使用href)也是一个坏习惯。 *不使用CSS风格相关的问题也是一个不好的做法。 我认为bes方法应该如前所述添加“cursor:pointer;”通过适当的选择器将其转换为正确的css文件。 – 2016-04-14 13:00:52

+0

@David Diez - 如果你阅读我的文章,你会看到我的代码有你提出的解决方案。这在我的情况下不起作用,这就是我来到这里的原因。大声笑......但谢谢。 – Kevin 2017-03-29 18:28:09

你可以在CSS中做到这一点!

只是将此添加到您想要的样式的元素。

光标:指针;

其实我在这里找到了答案:Cursor not changing to pointer in Usemap/area case

在你的情况下,只需添加href="javascript:void(0)"每个<area>

例子:http://jsfiddle.net/yE5bQ/

+0

其实你只能href =“javascript;” – Illidan 2017-04-08 10:34:37

试试这个上面/头,它工作在IE和HTA的,诀窍是包括网址...

put following inside your [body] button or anchor 
onmousedown="mouseDown1()" onmouseup="mouseOut1() 

<script type="text/javascript"> 

function mouseDown1() { 
document.body.style.cursor = 'url(anim2.cur)'; 
} 

function mouseOut1() { 
document.body.style.cursor = 'url(anim1.cur)'; 
} 

function calc() { 
var dummy = 0; 

for (var i=0; i<100000;i++) { 
for (var z=0; i<100000;i++) { 
dummy = dummy + z + i; 
} 
} 

cursor_clear(); 
} 
</script> 

在你的CSS把这个:

#vote_buttons { 
    cursor:hand; 
} 

这将使它在游标悬停在按钮上时变成一只手。