jQuery .click事件没有在类中注册

时间:2011-06-17 18:43:43

标签: javascript jquery

我正在尝试为类标识的菜单列表按钮注册click事件,但它似乎没有被触发。我的代码如下:

<body>
<!-- jQuery Simple Drop-Down Menu http://javascript-array.com/scripts/jquery_simple_drop_down_menu/# -->
        <div id="dropDownDiv" style="width: 908px; height: 24px; margin: auto auto; background: #324143;">
            <ul id="jsddm">
                <li><a href="#">Item 1</a>
                    <ul>
                        <li><a class="btn myOtherClass" href="#">Button 1</a></li>
                        <li><a class="btn myOtherClass"href="#">Button 2</a></li>
                    </ul>
                </li>
                <li><a href="#">Item 2</a>
                    <ul>
                        <li><a class="btn myOtherClass" href="#">Button 3</a></li>
                        <li><a class="btn myOtherClass" href="#">Button 4</a></li>
                    </ul>
                </li>
            </ul>
        </div>

</body>

在我的剧本中,我有以下内容:

/* Register the click event for menu buttons */
$('.btn').click(function () { 
    alert("You clicked a button"); 
  });

警报永远不会触发,我不知道为什么,感谢任何帮助。

更新:

链接中的代码对我有用,不知道为什么它在我的项目中不起作用。我在Eclipse PHP项目环境中启用了Java资源。我在Chrome和Firefox中尝试过我的项目,但两者都没有。我会查看我的其余部分。

更新2:

看起来Shef关于包装.ready函数的建议就行了。我仍然不明白为什么它需要工作,“c =微笑”的链接在没有它的情况下工作。

2 个答案:

答案 0 :(得分:4)

对我来说很好,check it out。也许你没有包含jQuery?或者,您没有将事件侦听器绑定代码包装在文档中,如下所示:

$(document).ready(function(){
    $('.btn').click(function () { 
        alert("You clicked a button"); 
    });
});

答案 1 :(得分:0)

您是否正在使用stopPropagation或在可能阻止Click事件发生的其他点击事件中返回false?

jQuery加载后是否使用了jQuery?

绑定时是否在DOM中? (如果没有,则使用委托而不是单击,或者在加载后使用绑定)