单击事件不使用ON触发?

时间:2015-09-09 09:26:29

标签: javascript jquery

当我点击任何按钮时,click事件未被触发。很难,我使用$("div").on("click", "button", function () {使其工作,但我希望看到它使用.class选择器。

ON的语法:

  

.on(events [,selector] [,data],handler)

HTML

<div>
    <button class='alert'>Alert!</button>
</div>

代码:

$(document).ready(function () {
    $("div button").on("click", ".alert", function () {
        console.log("A button with the alert class was clicked!");
    });
    $("<button class='alert'>Alert!</button>").appendTo("div");
});

要运作的示例 here

这可能是基本的,但我正在认真地开始尝试&amp;理解一些概念。帮帮我理解。

3 个答案:

答案 0 :(得分:4)

您当前的代码正在尝试使用按钮中的类alert来委托元素的事件。哪个不存在。

如果您尝试为具有课程提醒的按钮委派事件,则需要使用:

$("div").on("click", "button.alert", function () {
    console.log("A button with the alert class was clicked!");
});

<强> Working Demo

答案 1 :(得分:1)

$(document).ready(function () {
    $("div").on("click", "button.alert", function () {
        console.log("A button with the alert class was clicked!");
    });
    $("<button class='alert'>Alert!</button>").appendTo("div");
});

答案 2 :(得分:1)

你也可以试试这个......

$(document).ready(function () {
    $("div button.alert").on("click", function () {
        console.log("A button with the alert class was clicked!");
    });

    $("<button class='alert'>Alert!</button>").appendTo("div");
});

FIDDLE以供参考