Skip to content

Commit 1507568

Browse files
committed
update for context menu
1 parent c1c30f2 commit 1507568

2 files changed

Lines changed: 53 additions & 0 deletions

File tree

index.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,13 @@
4949
</head>
5050

5151
<body>
52+
<ul class="custom-context-menu" id="customContextMenu">
53+
<li onclick="copyText()">Copy Text</li>
54+
<li onclick="openLinkNewTab()">Open Link in New Tab</li>
55+
<li onclick="downloadAsset()">Download Asset</li>
56+
<li onclick="copyURL()">Copy URL</li>
57+
<li onclick="viewImage()">View Image in New Tab</li>
58+
</ul>
5259
<h1>From Snowflake Servers to GitOps Nirvana</h1>
5360
<p class="tagline">
5461
<em

script.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,49 @@ document.addEventListener("DOMContentLoaded", () => {
7171
console.warn("Highlight.js is not loaded.");
7272
}
7373
});
74+
75+
let contextMenu;
76+
let selectedElement;
77+
78+
document.addEventListener('contextmenu', function(event) {
79+
event.preventDefault();
80+
selectedElement = event.target;
81+
contextMenu = document.getElementById('customContextMenu');
82+
contextMenu.style.display = 'block';
83+
contextMenu.style.left = event.pageX + 'px';
84+
contextMenu.style.top = event.pageY + 'px';
85+
});
86+
87+
document.addEventListener('click', function() {
88+
contextMenu.style.display = 'none';
89+
});
90+
91+
function copyText() {
92+
if (selectedElement.tagName === 'P' || selectedElement.tagName === 'PRE') {
93+
navigator.clipboard.writeText(selectedElement.textContent);
94+
}
95+
}
96+
97+
function openLinkNewTab() {
98+
if (selectedElement.tagName === 'A') {
99+
window.open(selectedElement.href, '_blank');
100+
}
101+
}
102+
103+
function downloadAsset() {
104+
if (selectedElement.tagName === 'A' && selectedElement.download) {
105+
selectedElement.click();
106+
}
107+
}
108+
109+
function copyURL() {
110+
if (selectedElement.tagName === 'A') {
111+
navigator.clipboard.writeText(selectedElement.href);
112+
}
113+
}
114+
115+
function viewImage() {
116+
if (selectedElement.tagName === 'IMG') {
117+
window.open(selectedElement.src, '_blank');
118+
}
119+
}

0 commit comments

Comments
 (0)