jquery 为什么我的$(document).ready(function()调用中的按钮在被点击时不起作用?

yrdbyhpb  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(181)

我有一个加载数据表的网页。该表被加载并成功地与按钮沿着显示,但是,当我单击button 1或button 2时,它们不显示警报,甚至不触发我试图在行上设置的断点。我这样做是正确的,我的问题在其他地方,还是我只是愚蠢的,不知道如何正确地设置?
谢谢你!

$(document).ready(function () {
    console.log("page is ready");

    initTable();

    $('#button1').click(function () {
        alert("Button 1 clicked!");
    });

    $('#button2').click(function () {
        alert("Button 2 clicked!");
    });

});

尝试设置多个断点来显示按钮是否正常工作,但在单击相应按钮时没有一个被触发。预期警报会显示字符串中设置的内容。我已经检查了所有按钮ID,它们是准确的,当函数调用直接编码到html中时,函数按钮确实工作。

6gpjuf90

6gpjuf901#

请考虑以下内容。

$(function () {
    console.log("page is ready");
    initTable();
    $('table').on("click", "#button1", function () {
        alert("Button 1 clicked!");
    }).on("click", "#button2", function () {
        alert("Button 2 clicked!");
    });
});

您也可以考虑改用类别。

$(function () {
    console.log("page is ready");
    initTable();
    $('table').on("click", ".remove", function () {
      if(confirm("Are you sure you want to Remove this row?")){
        $(this).closest("tr").remove();
      }
    });
});

将对表中的每个button.remove执行此函数。

委派的事件行程常式的优点是,它们可以行程稍后加入文件的子代元素中的事件。借由挑选在附加委派的事件行程常式时保证存在的元素,您可以使用委派的事件行程常式,以避免频繁地附加和移除事件行程常式。

更多信息请访问:https://api.jquery.com/on/#on-events-selector-data-handler

相关问题