jquery: отвязать указанную c функцию, оставив другую - PullRequest
0 голосов
/ 07 мая 2020

У меня простой вопрос: у меня есть две разные функции, привязанные к событию щелчка:

$("#selector").click(function one() {
// stuff
});

$("#selector").click(function two() {
// other stuff
});

Я хочу отвязать только одну из них. Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 07 мая 2020

Вам нужно сохранить связанные функции в переменные. После этого вы можете отвязать их, используя jQuery .off () - метод:

(function($){

  var alert1 = function(){
    alert('1');
  }, alert2 = function(){
    alert('2');
  };
  
  // Bind alert1
  $('button').on('click',alert1);
  
  // Bind alert 2
  $('button').on('click',alert2);
  
  // Unbind alert2
  $('button').off('click',alert2);

})(jQuery);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button>Alert</button>
0 голосов
/ 07 мая 2020

Функция выключена - это то, что вы ищете

The .off() method removes event handlers that were attached with .on()

...