Как я показываю src изображения при нажатии

#javascript #image #this #src #confirm

#javascript #изображение #это #Src #подтвердите

Вопрос:

Напишите функцию, которая будет вызываться при нажатии правой кнопки мыши на одном из изображений, которые у вас есть на сайте.
Функция вызывает окно подтверждения (), в котором вы спрашиваете пользователя, хочет ли он узнать источник изображения,
если пользователь нажимает OK alert (this.src ), в котором отображается содержимое атрибута src этого изображения
. Если пользователь нажимает «Отмена», отключите контекстное меню, котороепоявляется при нажатии правой кнопки

это мой неправильный код

 <img src="opera1.png" id="immagine1" alt="immagine1" width="500" height="333" oncontextmenu="destra()">
<img src="ioaparatissima.JPG" id="immagine2" alt="immagine2" width="500" height="333" oncontextmenu="destra()">
 

javascript

 function destra(){
  var r = confirm("Vuoi conoscere la src dell'immagine");

  if(r == true) {
    alert(y.src);
  } else {
  }
}

 

Ответ №1:

Поскольку вы используете встроенные привязки событий, я бы предложил два изменения.

oncontextmenu="destra(this)"

Передайте элемент, на который включена привязка встроенного события.

 function destra(y){
  var r = confirm("Vuoi conoscere la src dell'immagine");

  if(r == true) {
    alert(y.src);
  } else {
  }
}
 

Примите элемент в качестве аргумента метода.

Ответ №2:

Перечитывая ваше утверждение, мне кажется, что этот ответ соответствует лучше … (?)

 document.querySelectorAll('img').forEach(el=> el.addEventListener('contextmenu',destra) )
 
function destra(e)
  {
  e.preventDefault() // disable real context Menu

  if ( confirm("Vuoi conoscere la src dell'immagine") )
    {
    alert( this.src )
    }
  } 
 <img src="https://picsum.photos/150" alt="immagine1" >

<img src="https://picsum.photos/100" alt="immagine2" > 

Ответ №3:

Используйте getElementById() , как в этом примере:

 function destra() {
    let r = confirm("Vuoi conoscere la src dell'immagine?");
    let y = document.getElementById("immagine1");
    if (r == true) {
        alert(y.src);
    }
}
 

Ответ №4:

попробуйте вот так… Я надеюсь, что это полезно…

 <img src="opera1.png" id="img1" alt="immagine1" width="500" height="333">
<button onclick="getimgId(1)">copy link</button>
<br/>
<img src="ioaparatissima.JPG" id="img2" alt="immagine2" width="500" height="333">
<button onclick="getimgId(2)">copy link</button>

<script type="text/javascript">
    function getimgId(img_id){
        var res = confirm("Vuoi conoscere la src dell'immagine");

        if(res == true) {
            var img_id = img_id;
            var img_url = document.getElementById('img' img_id).src;
            alert(img_url);
        } else {

        }
    }
</script>
 

теперь вы хотите просто присвоить уникальный идентификатор изображениям и расположить правые боковые кнопки изображений…

например, img1, img2, img3 для изображений и onclick=»getimg(1)», getimg(2), getimg (3)…

вы можете легко назначить уникальные идентификаторы с помощью Javascript. просто примените цикл и внутри циклов добавьте изображения с уникальными идентификаторами…

для присвоения уникального я делюсь примером ниже … приведенный ниже код предназначен только для вашей справки. внесите изменения в соответствии с вашими потребностями. вы можете выполнить поиск в Google для получения дополнительных примеров.

 for(var i=0;i<yourRecordArray.length;i  ){
    newList = document.createElement('li');
    newList.className = 'list-border';
    newList.id = 'imgdiv' i;
    newList.innerHTML = '<img src="" id="img' i '"> 
                        '<button onclick="">';
    document.getElementById('add').appendChild(newList);
 

Ответ №5:

я решил так

 function destra(y) {

    window.addEventListener("contextmenu", function(e){e.preventDefault();}, false);

    var r = confirm("do you want to know the src of the image?");

  if(r == true) {
    alert(y.src);
  } else {

  }

} 
 <img src="https://picsum.photos/150" alt="immagine1"id="immagine1" alt="immagine1" width="150" height="150" oncontextmenu="destra(this)">
<img src="https://picsum.photos/150" alt="immagine2" id="immagine2" alt="immagine2" width="150" height="150" oncontextmenu="destra(this)">