Как по клику мышкой записать в буфер обмена значение?
https://w3c.github.io/editing/execCommand.html#dfn...Copy commands triggered from document.execCommand() will only affect the contents of the real clipboard if the event is dispatched from an event that is trusted and triggered by the user, or if the implementation is configured to allow this. How implementations can be configured to allow write access to the clipboard is outside the scope of this specification.
Короче говоря - click доверенное событие, а contextmenu - нет.
UPD: если использовать не onclick а mousedown (который срабатывает на все кнопки мыши) - то окsnippet
Используйте  https://clipboardjs.com/ и не морочьте голову