我有一个带有图像的网页。当我右键单击图片时,会在菜单中得到一些选项。我需要访问“另存为”选项或其事件。因此,从那里应该保存到两个不同的位置。这是一个JSP页面。
我有一个带有图像的网页。当我右键单击图片时,会在菜单中得到一些选项。我需要访问“另存为”选项或其事件。因此,从那里应该保存到两个不同的位置。这是一个JSP页面。
// Get all images
var IMAGES = document.querySelectorAll("img");
// Assign to all images our contextmenu right-click-jacker
[].forEach.call(IMAGES, function(IMG){
callCustomContextmenu(IMG);
});
function callCustomContextmenu(IMG) {
var ctxmenu = document.getElementById("ctxmenu");
var download = document.getElementById("download");
IMG.addEventListener("contextmenu", function(evt) {
evt.preventDefault(); // don't show OS contextmenu
// TODO: Show fixed Custom DIV at coordinates: evt.clientX evt.clientY
// for now this will do...
ctxmenu.style.display = "block";
// Download image
// https://dev59.com/jmMm5IYBdhLWcg3wi_i0#21210576
download.addEventListener("click", function(){
var A = document.createElement('a');
A.href = IMG.src;
A.download = '';
document.body.appendChild( A );
A.click();
});
});
}
#ctxmenu{display:none;} /* TODO: make if fixed and nice */
Right click and click download<br>
<img src="http://cdn.sstatic.net/Sites/stackoverflow/img/favicon.ico">
<div id="ctxmenu">
<span id="download">Download</span>
</div>
contextmenu
事件。但我认为在选择其中一个选项时不会触发任何事件。 - kkaosninja