我正在尝试为类标识的菜单列表按钮注册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 =微笑”的链接在没有它的情况下工作。
答案 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中? (如果没有,则使用委托而不是单击,或者在加载后使用绑定)