jQuery .click() event

jQuery .click() event

本文关键字:event click jQuery      更新时间:2023-09-26

我对jQuery的.click()事件有点困惑。我正试图在跨度内的图像上使用该事件。这是包含跨度和图像的HTML行。

<span class="content-message-element"><a href=""><img class="content-message-icon" src="./images/icon_close.png" alt="Close Message" /></a></span>

正如您所看到的,该图像具有类"内容消息图标"。我在我的jQuery代码中使用过这一点(顺便说一句,我包含了jQuery 1.7.1),但什么也没发生;则根本不触发该事件。

.click()事件是否仅限于某些类型的元素?

<script type="text/javascript">
        $(".content-message-icon").click(function() {
            alert("Handler for .click() called.");
        });
    </script>

这是我的jQuery,任何帮助都将不胜感激。

点击事件应该可以正常工作。尝试放入文档就绪代码,如下所示:

$(function() {
    $(".content-message-icon").click(function() {
        alert("Handler for .click() called."); 
    });
});

jsFiddle示例:http://jsfiddle.net/vGPfu/1/

在DOM准备好之前,u r可能会触发click事件。使用这个和

$(document).ready(function(){
        $('.content-message-icon').click(function(){
              //add click logic here
        });
});

您没有使用

$(document).ready()

其他答案都提到了使用jQuery的文档ready,但没有人解释为什么,或者其他方法是什么。要分配一个事件处理程序(或从JS进行任何其他元素操作),确保元素已被解析的两种方法是:

  1. 将脚本块放在页面源中的元素之后——在之后的任何地方都可以,但在所有元素之后以及在关闭的</body>标记下方是合理的标准。

  2. 将相关代码放入$(document).ready()处理程序(如果使用jQuery)或onload处理程序中。

(文档就绪处理程序是在包含该代码的地方创建的,甚至在它所处理的元素被解析之前,但直到整个文档就绪后才会执行。)

试着去掉空标签。的行为可能会干扰这里。

这应该可以工作。。

可能的原因。。Jquery版本=尝试其他浏览器问题=尝试所有浏览器

包含在这个jquery 中

$(document).ready(function()
{
  ...click event
});

试试这个

<script type="text/javascript">
  $(".content-message-icon").live("click", function () {
    alert("Handler for .click() called.");
  });
 </script>