in packages/roosterjs-react-editor/lib/components/LeanRooster.tsx [547:566]
private _getAnchorForClickOpenHyperlink(ev: React.MouseEvent<HTMLDivElement>, element: HTMLElement): HTMLAnchorElement {
const { clickOpenHyperlinkViewMode, readonly } = this.props;
const isPrimaryButton = ev.button === 0;
if (!isPrimaryButton || !clickOpenHyperlinkViewMode || readonly || this.mode !== LeanRoosterModes.View) {
return null;
}
// Hyperlink plugin will handle CTRL+Click when editor is created and FireFox will handle for contenteditable
const ctrlOpen = Browser.isMac ? ev.metaKey : ev.ctrlKey;
if ((this._editor && ctrlOpen) || (Browser.isFirefox && ctrlOpen)) {
return null;
}
const anchor = findClosestElementAncestor(element, this._contentDiv, "a[href]");
if (anchor) {
return anchor as HTMLAnchorElement;
}
return null;
}