使用onclick js事件添加一个类

时间:2014-03-23 12:27:08

标签: javascript jquery html css

我正在尝试在单击其他项目时向某些菜单项添加类 .up 。我在新的标签或窗口中没有打开链接时使用js来添加类,即当点击item-129时,应该将类 up 添加到项目126,127和128但是它是不工作以下是我正在使用的js和html代码。

js code

keypressed = null;

$(window).keydown(function(event) {
    keypressed = event.keyCode;
});

$(window).keyup(function(event) {
    keypressed = null;
});

$("#item-129").click(function(event) {
    // Don't animate if command keys or ctrl keys held down
    if (keypressed == 91 || keypressed == 92 || keypressed == 17) {
        return true;
    }
    event.preventDefault();
    $("#item-126, #item-127, item-128").addClass("up");
    }, function() {
        $(this).attr("href"));
        location.href = $(this).attr("href");
    });
});

HTML代码

<li id="item-126" class="item-126 deeper parent">
    <span class="nav-header">About Us</span>
    <ul class="nav-child unstyled small">
        <li id="item-129" class="item-129"><a href="/v1/index.php/aboutus/bio">Bio</a>  </li>
        <li id="item-130" class="item-130"><a href="/v1/index.php/aboutus/our-clients">Our Clients</a></li>
    </ul>
</li>
<li id="item-127" class="item-127"><span class="nav-header">Services</span></li>
<li id="item-128" class="item-128"><span class="nav-header">Contact Us</span></li>

我想要实现的是使用 up 类为菜单设置动画,然后打开第129项中的链接。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

您需要添加event.stopPropagation()并使用$(document).ready()$(window).load()

$(document).ready(function(){
    keypressed = null;

    $(window).keydown(function(event) {
        keypressed = event.keyCode;
    });

    $(window).keyup(function(event) {
        keypressed = null;
    });

    $("#item-129").click(function(event) {
        // Don't animate if command keys or ctrl keys held down
        if (keypressed == 91 || keypressed == 92 || keypressed == 17) {
            return true;
        }

        event.stopPropagation();

        $("#item-126, #item-127, #item-128").addClass("up");

        return false;
    });
});

http://jsfiddle.net/g2a33/2/