Jquery $(" img")。click(function()选择器不工作

时间:2014-09-29 11:29:32

标签: jquery html selector

由于某种原因,当我点击带有此JQuery代码的图像时,警报屏幕不会显示。

HTML:

<div id="example1">
 <div>
  <div>
   <div class="user">
    <img class="Image" src="images/image.jpg">
   </div>
  </div>
 </div>
</div>

使用Javascript:

$(document).ready(function(){
 $("img").click(function(){
  alert("it works!");
 });
});

我无法弄清楚为什么这不起作用我包含了jquery库,<script>标签位于div

4 个答案:

答案 0 :(得分:26)

注册事件处理程序时,img不在DOM中。你可以使用$('body').on('click','img',function(){alert('it works');})

答案 1 :(得分:3)

 $(document).ready(function(){
    $(".Image").click(function(){
    alert("it works!");
   });
  });

如果您希望您的代码无需更改即可使用.Image not img the class name not attribue name

答案 2 :(得分:2)

您应该使用window.load()函数而不是在document.ready()中运行代码。

$(window).load(function() {
    $("img").click(function(){
        alert("it works!");
     });
});
  • document.ready()是一个jQuery事件,它在DOM准备就绪时运行,例如: 所有元素都可以找到/使用,但不一定全部 内容。
  • window.load()稍后会触发(或同时触发) 最糟糕/失败的情况)当图像等被加载时,所以如果你是 例如,使用图像尺寸,您经常要使用它 代替。

答案 3 :(得分:0)

尝试一下,它也可以处理来自ajax请求的图像。

$(document).on('click','img',function(){
alert("Click event works!");
});