指定onClick时不要打开href(在react js中)

时间:2017-01-19 09:54:20

标签: javascript reactjs

我们的<a>标记通过向onClick属性提供函数在我们的应用程序中打开自定义pdf查看器。

我们希望提供可访问性的href,因此用户可以右键单击 - &gt;在新标签页中打开,控制+点击或他们想要的其他内容。

但是,当用户点击<a>标记时,我们不想实际打开链接,而是我们的onClick函数应该处理该事件。

目前我们有这样的事情:

render(){
  return (<a href="www.stackoverflow.com" onClick={(e)=>this.linkClick(e)} >click here</a>)
}

linkClick(e) {
   e.stopPropagation(); // does not stop the link from opening
   console.log("link clicked");
   return false; // does not stop the link from opening
}

在普通的js中,这可以通过returning false在onClick函数上完成。 我们也试过添加stopPropagation()无济于事。 一些反应用户添加href="javascript: void(0)",但这会禁用链接,但它不符合我们的可访问性需求。

1 个答案:

答案 0 :(得分:9)

使用preventDefault。自React 0.12起返回false has been deprecated

linkClick(e) {
   e.preventDefault();
   console.log("link clicked");
}