0

堆栈溢出的人们,

我正在整理一个具有独立帮助文本和其他链接的表单,这些链接没有特定的目的地,但需要触发一些 jQuery 函数。

例如 :

<a href="#" class="inline helpTrigger cursor">Why do we ask for this?</a>

单击或按下此链接时,文本旁边会出现一个帮助气泡。由于这个 href 有一个值(“#”),我必须编写一个函数(如下所示)来阻止页面从“跳转”到顶部:

$('a[href="#"]').bind('click keypress', function(event){
    return false;
});

这适用于大多数浏览器,但 FireFox 在切换时会卡住并且不会越过该元素。有没有更好的方法来做到这一点,或者这是一个已知的 FF 问题?

我尝试将 href 完全留空 - 但这在语义上既不正确,也不在 IE 中工作。

任何帮助将非常感激。谢谢

4

3 回答 3

1

实际上,Firefox 是正确的。它不应该跳到下一个元素,因为 keypress 事件阻止了 Tab 键。删除按键,以便浏览器应用事件的默认按键处理。

$('a[href="#"]').bind('click', function(event){
    return false;
});
于 2011-03-15T10:04:26.743 回答
1

您总是可以检查按下了哪个键并相应地继续?

 var code = (event.keyCode ? event.keyCode : event.which);
 if(code == 9) {
   //Do something
 }
于 2011-03-15T10:10:00.917 回答
0

是否应用 event.preventDefault(); 解决您的问题。

于 2011-03-15T10:07:46.543 回答