如何通过点击带有javascript的图像返回img.src?

时间:2012-03-14 17:51:02

标签: javascript onclick imagesource

我正在尝试使用javascript创建一个函数,用户在点击图像时可以将图像src检索为URL。我是javascript的新手,到目前为止,我创建一个由图像的“onclick”激活的功能的尝试是:

var showsrc = function(imageurl)
var img = new Image();
img.src = imageurl
return img.src

调用结果我一直在尝试使用

将image.src插入到我的html中
document.getElementById("x").innerHTML=imageurl; 

我很少成功。任何帮助将不胜感激。谢谢。

4 个答案:

答案 0 :(得分:3)

我在IE9和Chrome 17中对此进行了测试。在主体(或所有图像的最近容器)上添加一个onclick处理程序,然后监视单击的元素是否为图像。如果有,请显示网址。

http://jsfiddle.net/JbHdP/

var body = document.getElementsByTagName('body')[0];
body.onclick = function(e) {
    if (e.srcElement.tagName == 'IMG')    alert(e.srcElement.src);  
};​

答案 1 :(得分:2)

我想你想要这样的东西:http://jsfiddle.net/dLAkL/

请参阅此处的代码:

HTML:

<div id="urldiv">KEINE URL</div>
<div>
    <img src="http://www.scstattegg.at/images/netz-auge.jpg" onclick="picurl(this);">
    <img src="http://www.pictokon.net/bilder/2007-06-g/sonnenhut-bestimmung-pflege-bilder.jpg.jpg" onclick="picurl(this);">
</div>​

JAVASCRIPT

picurl = function(imgtag) {
    document.getElementById("urldiv").innerHTML = imgtag.getAttribute("src");
}​

答案 2 :(得分:0)

图像标签没有'innerHTML',因为它们是单例标签 - 它们不能有任何子标签。如果您的x ID是图片代码本身,那么:

 alert(document.getElementById('x').src);

会吐出图像的src。

答案 3 :(得分:0)

这是一个简单的解决方案,只有javascript(可能不兼容跨浏览器):

<!doctype html>
<html>
  <head>
    <script>
      function init() {
        var images = document.getElementsByTagName('img');

        for(var i = 0, len = images.length; i < len; i++) {
          images[i].addEventListener('click', showImageSrc);
        }
      }

      function showImageSrc(e) {
        alert(e.target.src);
      }
    </script>
  </head>
  <body onload="init()">
    <img src="http://placekitten.com/300/300">
  </body>
</html>