我在jQuery中尝试过“on”,“live”和“delegate”方法,但似乎没什么用。
我想要做的是当用户点击一个.signin
类的登录按钮时,切换一个名为.menu-open
的类。然后,当我再次点击该按钮时,我想提醒一些事情!
$(document).ready(function() {
$(".signin").click(function(e) {
e.preventDefault();
$(".signin").toggleClass("menu-open");
});
$('.menu-open').on('click', function() {
alert("SUCCESS");
});
});
答案 0 :(得分:3)
那是因为在页面加载时,文档中没有.menu-open
类的元素,因此查询无提示失败,您应该委派该事件。
$(document).on('click', '.menu-open', function() {
alert("SUCCESS");
});
请注意,使用静态父元素比使用document
对象作为委派目标更有效。
答案 1 :(得分:1)
请你删除这一行
e.preventDefault();
preventDefault:
如果调用此方法,则不会触发事件的默认操作。
使用此代码:
$(document).ready(function() {
$(".signin").click(function() {
$(this).toggleClass("menu-open");
$( ".menu-open" ).bind( "click", function() {
alert("SUCCESS");
});
});
});
在这里工作正常