Jquery处理程序只调用一次

时间:2018-04-23 11:42:53

标签: jquery

当我点击网格pager时,我需要做点什么。

这是寻呼机所在的HTMLcss班级为dxp-num  enter image description here

我已在document.ready

中添加了此代码
$(document).ready(function () {
    $(".dxp-num").click(function () {
        alert("The pager was clicked.");
    });
});

我尝试在document.ready.之外添加相同的代码 在两个示例中,警报仅显示一次。每次点击页码时,我都需要输入点击事件。

3 个答案:

答案 0 :(得分:2)

尝试:

$(document).ready(function () {
    $("#gvPartners_DXPagerBottom").on("click", ".dxp-num", function () {
        alert("The pager was clicked.");
    });
});

答案 1 :(得分:2)

认为您的页面元素是动态添加的。如果是这样,请使用jquery on而不是将click绑定到元素。

$(document).ready(function () {
    $("body").on("click", ".dxp-num", function () {
        alert("The pager was clicked.");
    });
});

答案 2 :(得分:1)

如果您以动态方式添加这些元素(在DOM创建之后,通过javascript),那么它们将不会响应创建之前创建的绑定。您需要delegated event handler。这意味着:父母(不是创造性的)将接收事件并将其传递给他们的孩子:

$(".dxpLite_Office2003Olive").on("click", ".dxp-num", function() {
    alert("The pager was clicked.");
});

$("#gvPartners_DXPagerBottom").on("click", ".dxp-num", function() {
    alert("The pager was clicked.");
});

你可以使用任何父级,无论多远,只要它在之前创建:

$("body").on("click", ".dxp-num", function() {
    alert("The pager was clicked.");
});