jquery - 调用新创建的类

标签 jquery html

只是乱搞,我知道为什么这不起作用,但我没有看到任何其他方法......

简单的功能:

$(".click").on("click", function() {
    alert("first click");
    $(this).removeClass("click");
    $(this).addClass("next");
});
$(".next").on("click", function(){
    alert("second click");
});

但是,我总是收到“首次点击”警报。所以我知道这是因为创建页面时 next 类不存在...

什么是解决这个问题的好方法?

这是我的测试 fiddle :

http://jsfiddle.net/tUp9R/1/

最佳答案

您可以使用事件委托(delegate):http://jsfiddle.net/tUp9R/4/

jQuery 文档:https://learn.jquery.com/events/event-delegation/

Javascript:

$(".test").on("click", ".click", function() {
    alert("first click");
    $(this).removeClass("click");
    $(this).addClass("next");
});

$(".test").on("click", ".next", function() {
    alert("second click");
});

HTML:

<div class="test">
    <button class="click">Click Me</button>
</div>

您还可以通过使用事件数据来简化它,如下所示:http://jsfiddle.net/tUp9R/7/

$(".click").on("click", {first: true}, function(e) {
    if (e.data.first) {
        alert("first!")
        e.data.first = false
    } else {
        alert("not first :)")
    }
})

关于jquery - 调用新创建的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141413/

相关文章:

css - 如何使 SVG 图不截断溢出的形状?

jquery - HTML 和 CSS 以便在使用 jQuery 向下滑动内容时固定图像

javascript - Nunjacks 图标计数宏

javascript - 使没有内容的div水平滚动

javascript - 单击按钮时从表和下拉列表中获取值

javascript - Browserify jQuery 未定义?

html - 将div放入固定空间

javascript - 我可以使用 jQuery 的 .css() 方法将速记 css 应用于元素吗?

javascript - 网络表格 : add dynamically in javascript option to a dropdownlist

javascript - 如何将自定义样式规则保存到LocalStorage?