连续$(文件).on('click',...语句首先失败

时间:2018-02-25 11:13:35

标签: jquery

我的网站上有评论功能。两个按钮,一个用于upvote,一个用于downvote。页面加载后动态创建注释,因此处理点击的代码是......

$(document).ready(function() {
    $(document).off().on("click", ".videonotes_note_feedback_useful_no",  function() { videonotes_addRating($(this).parent().data('id'), -1); });
    $(document).off().on("click", ".videonotes_note_feedback_useful_yes",  function() { videonotes_addRating($(this).parent().data('id'), +1); });
});

其中addRating函数很简单:

function videonotes_addRating(feedback_id, value) {
    console.log(value);
}

暂时。

问题是第二个$(document).off().on("click", 总是什么都不做 - 所以如果我先把-1放在第一个,那么当我点击另一个时,控制台输出减去1然后什么都不做。如果我在代码中反转它们,控制台会输出+1。

为什么会发生这种情况有什么原因吗?

1 个答案:

答案 0 :(得分:3)

摆脱关闭功能

$(document).ready(function() {
    $(document).on("click", ".videonotes_note_feedback_useful_no",  function() { videonotes_addRating($(this).parent().data('id'), -1); });
    $(document).on("click", ".videonotes_note_feedback_useful_yes",  function() { videonotes_addRating($(this).parent().data('id'), +1); });
});