页面加载后的Jquery .On()

时间:2015-09-23 15:26:18

标签: jquery function

 function jpPlayClick(){
      $('.jp-type-playlist .jp-playlist-item').off('click', jpPlayClick);
      //Code stuff
  };

以前是我之前的事:$('.jp-type-playlist .jp-playlist-item').on('click', jpPlayClick);

这只能运行一次。但是,当页面完全加载而不是使用

时,我需要这样做
$(document).on("click", '.jp-type-playlist .jp-playlist-item', function () {
            jpPlayClick();
});

但是每次都会持续而不是一次。这个的正确语法是什么?

1 个答案:

答案 0 :(得分:3)

如果您只想要执行一次某事,请使用.one()

  

.one()方法与.on()相同,只是处理程序在第一次调用后未绑定。

     

- jQuery's .one() Documentation

$(document).one("click", '.jp-type-playlist .jp-playlist-item', function () {
    jpPlayClick();
});

您需要将其放在jpPlayClick函数之外,否则每次调用它都会重新创建此事件处理程序。