如何向图像添加.click()事件?

SS'*_*SS' 17 javascript events mouseevent

由于Jose Faeti,我有一个基于鼠标点击放置图像的脚本.现在我需要帮助将.click()事件添加到下面的代码中,以便当用户单击图像时它执行脚本中显示的功能.

<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />.click()
Run Code Online (Sandbox Code Playgroud)

我把整个代码放在下面,以防你想看到它.

<html>
<head>
 <script language="javascript" type="text/javascript">
 <!--

 document.getElementById('foo').addEventListener('click', function (e) {

var img = document.createElement('img');

img.setAttribute('src', 'http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png');

e.target.appendChild(img);
});

  // -->
 </script>

</head>

<body>
<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />.click()
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

救命?

mpe*_*pen 27

首先,这一行

<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />.click()
Run Code Online (Sandbox Code Playgroud)

你正在混合HTML和JavaScript.它不像那样工作.摆脱.click()那里.

如果您阅读了那里的JavaScript,document.getElementById('foo')那么它正在寻找ID为的HTML元素foo.你没有.为您的图像提供ID:

<img id="foo" src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />
Run Code Online (Sandbox Code Playgroud)

或者,您可以将JS放入函数中并在HTML中放置onclick:

<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" onclick="myfunction()" />
Run Code Online (Sandbox Code Playgroud)

我建议你做一些关于JavaScript和HTML的阅读.


其他人对于需要移动<img>上面的JS点击绑定也是对的.


Guf*_*ffa 10

您不能在事件存在之前将事件绑定到元素,因此您应该在onload事件中执行以下操作:

<html>
<head>
<script type="text/javascript">

window.onload = function() {

  document.getElementById('foo').addEventListener('click', function (e) {
    var img = document.createElement('img');
    img.setAttribute('src', 'http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png');
    e.target.appendChild(img);
  });

};

</script>
</head>
<body>
<img id="foo" src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)


Muh*_*lal 5

附上<img><a>标签。

<a href="http://www.google.com.pk"><img src="smiley.gif"></a>
Run Code Online (Sandbox Code Playgroud)

它将在同一选项卡上打开链接,如果您想在新选项卡上打开链接,请使用 target="_blank"

<a href="http://www.google.com.pk" target="_blank"><img src="smiley.gif"></a>
Run Code Online (Sandbox Code Playgroud)