0

我有这个选择器:

我在页面周围有以这样的斜线开头的锚点

<a href="/projects/case-study/">Link to case study</a>

我也有这个来阻止他们工作。

$("body").on("click", "a[href^='/']", function(e){
   return false;
});

这适用于所有现代浏览器和 IE10、9、8 但不是 7。

任何想法为什么会这样?

4

1 回答 1

1

你为什么(Mis?)使用 return false。当我们调用时,会执行以下任务return false

  1. event.preventDefault();
  2. event.stopPropagation();
  3. 停止回调执行并在调用时立即返回。

取消默认行为所需的唯一操作是preventDefault().

   e.preventDefault ? e.preventDefault() : e.returnValue = false;

所以,你最终可能会如下:

$("body").on("click", "a[href^='/']", function(e){
   e.preventDefault();
});
于 2013-02-16T16:47:39.523 回答