Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Don't open href while an onClick is specified (in react js)

Our <a> tag opens a custom pdf viewer in our application by providing a function to the onClick property.

We want to provide a href for accessibility, so users can rightclick -> open in new tab, control+click or what else they fancy.

However, when the user clicks the <a> tag, we don't want to actually open the link, instead our onClick function should handle the event.

currently we have somthing like this:

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
}

In plain js this can be done by returning false on the onClick function. We've also tried adding stopPropagation() to no avail. Some react users add href="javascript: void(0)" while this does disable the link, it does not meet our accessibility needs.

like image 592
Lars Avatar asked Feb 22 '26 23:02

Lars


1 Answers

Use preventDefault. Returning false has been deprecated since React 0.12.

linkClick(e) {
   e.preventDefault();
   console.log("link clicked");
}
like image 52
Pavlo Avatar answered Feb 24 '26 11:02

Pavlo



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!