2016-08-03 4 views
0

я не понял, что делает этот код:Что означает данный ниже код?

.bind(this); 

(я взял этот код из zurb фундаментного ниспадающего плагина)

.on('mouseleave.fndtn.dropdown', '[data-dropdown], [data-dropdown-content]', function (e) { 
     var $this = $(this); 
     self.timeout = setTimeout(function() { 
     if ($this.data('dropdown')) { 
      var settings = $this.data('dropdown-init'); 
      if (settings.is_hover) self.close.call(self, $('#' + $this.data('dropdown'))); 
     } else { 
      var target = $('[data-dropdown="' + $(this).attr('id') + '"]'), 
       settings = target.data('dropdown-init'); 
      if (settings.is_hover) self.close.call(self, $this); 
     } 
     }.bind(this), 150); 
}) 

Он совместит с JQuery 3? http://jquery.com/upgrade-guide/3.0/#deprecated-bind-and-delegate

+1

.bind - [documentation] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind) –

+0

Он свяжет контекст 'this' с функцией так, this' внутри этой функции всегда будет ссылаться на 'this', который передается' bind() 'независимо от того, как вызывается функция. – Tushar

+0

'совместим с jquery 3' - конечно, потому что jQuery - это просто библиотека javascript, он не меняет работу javascript –

ответ

Смежные вопросы