jQuery没有记录事件或执行功能

时间:2014-10-06 21:23:15

标签: javascript jquery javascript-events click

$('.logoTop').on('click', 'img', function (event) {
    console.log(event);
    if ($(".navTop").css("top", "-100px")) {
        $(".navTop").css("top", "0px");
    }
    else{
        $(".navTop").css("top", "-100px")
    }
});

这是我的代码,其中.logoTop是一张图片,但是当我点击它时,没有什么可以幸福的了。控制台甚至没有记录事件。

编辑:该函数包含在$(document).ready()中,其他函数正常工作。

注意:我使用其他jQuery函数来添加&在此函数之前删除类名。

1 个答案:

答案 0 :(得分:2)

如果.logoTop是图像的类,它永远不会触发,因为你基本上是这样说的:

在具有类名logoTop的元素中查找图像并等待点击事件

您的图片代码中没有图片,因此您的代码应该是这样的

$('body').on('click', '.logoTop', function (event) {
    console.log(event);
    if ($(".navTop").css("top", "-100px")) {
        $(".navTop").css("top", "0px");
    }
    else{
        $(".navTop").css("top", "-100px")
    }
});

或者简单地说(注意第一个例子适用于动态创建的元素)

$('.logoTop').on('click', function (event) {
    console.log(event);
    if ($(".navTop").css("top", "-100px")) {
        $(".navTop").css("top", "0px");
    }
    else{
        $(".navTop").css("top", "-100px")
    }
});