реактивировать или привязать функцию наведения в jquery? - PullRequest
1 голос
/ 05 июня 2010

со следующими тремя строками:

$( ".thumb" ).bind( "mousedown", function() {
        $('.thumb').not(this).unbind('mouseenter mouseleave');
    });  

Я отменяю эту функцию наведения:

$(".thumb").hover(
      function () {
        $(this).not('.text, .file, .video, .audio').stop().animate({"height": full}, "fast");
        $(this).css('z-index', z);
        z++;        
      },
      function () {
        $(this).stop().animate({"height": small}, "fast");
      }
    );  

Интересно, как я могу снова привязать ту же самую функцию наведения мыши на mouseup? следующие три строки не работают!

$( ".thumb" ).bind( "mouseup", function() {
$('.thumb').bind('mouseenter mouseleave');
});

чтобы получить то, что я хочу сделать, вот небольшое объяснение. Я хочу отключить функцию наведения для ВСЕХ элементов .thumbs, когда я нажимаю на одну из них. Таким образом, все (но не это) не должны иметь назначенную функцию наведения, когда я нажимаю на объект. Если я снова отпущу мышь, функция наведения снова должна работать, как раньше.

Это вообще возможно сделать? спасибо за вашу помощь!

1 Ответ

1 голос
/ 05 июня 2010

Оберните это в пользовательскую функцию:

function bind_hover(elements) {   
    elements.hover(
      // ...
    );   
};

и позже:

$( ".thumb" ).bind( "mouseup", function() {
    bind_hover($('.thumb').not(this));
});

Это

$('.thumb').bind('mouseenter mouseleave');

не может работатьВы не указываете , какие обработчики вы хотите связать.

...