Hi @liquidedge,
The toggle hash feature is for address bar hash when a user visited a page.
![](//tco-forum-uploads.s3.amazonaws.com/original/3X/3/c/3c568398f73ba790362d4a902a2dbe9a82ba9911.png)
You can confirm that by removing your button, then visit your site’s URL with that hash on another window/browser, and the modal will appear.
The modal appears when the button is clicked is because the button itself changes the address bar, and any change in address bar is considered as a page reload by the browser. You can confirm that by visiting your page without hash, then while observing your browser address bar, click the button. You’ll see the address bar is changed, and that changed triggers the modal.
The modal will not appear if you click the button again since the address bar’s hash remains the same (no change at all) hence doesn’t seems to be reloaded. The hash toggle only works upon page load and URL change.
Though, it might be a good feature in the future. But for now, it’s not good to bind a button to any other elements creating dependencies between them which usually causes more issues. But, this workaround should help you
Please add an ID to your button, you may decide what ID ![:slight_smile: :slight_smile:](https://theme.co/forum/images/emoji/apple/slight_smile.png?v=9)
![](//tco-forum-uploads.s3.amazonaws.com/original/3X/4/1/41536cf7df27e484fd8246f98a6f9bf567c95dca.png)
Same goes for your modal element
![](//tco-forum-uploads.s3.amazonaws.com/original/3X/a/6/a6ec5fc39439581b6d4cf95a9c483ed88f89a7a4.png)
Then we’ll link both ID by adding this code to your builder’s custom javascript.
jQuery ( document ).on ('click', '#this_will_trigger_the_modal', ( e ) => {
e.preventDefault();
jQuery('#this_is_the_modal').trigger('click touchstart');
} );
Just make sure the ID matches in the code
Thanks!