2013-12-04 3 views
0

У меня есть конфликт с вызовом общей функции JQuery клик и поэтому мне нужно назвать событие OnClick на самой пока еще будучи в состоянии использовать $ (это)

$('.item-main-section, .item-status').click(function() { 
     var slideHeight = $(this).parent().children('.item-slide-section').height(); 
     if ($(this).parent().height() > 50) { 
      $(this).parent().animate({height: '50px'}, 300); 
      $(this).parent().children('item-slide-section').animate({bottom: '0px'}, 300); 
     } else { 
      $(this).parent().animate({height: slideHeight + 50 + 'px'}, 300); 
      $(this).parent().children('item-slide-section').animate({bottom: slideHeight - 5 + 'px'}, 300); 
      $(this).parent().siblings('.item-wrapper').animate({height: '50px'}, 300); 
      $(this).parent().siblings('.item-wrapper').children('item-slide-section').animate({bottom: '0px'}, 300); 
     } 
    }); 
HTML элемента

Вместо jquery click мне нужно onclick = "thisFunction()" на элементах, но если я избавлюсь от первой строки, я потеряю возможность использовать $ (this). Трудно объяснить, но я надеюсь, что это имеет смысл для кого-то.

ответ

1

вы можете передать this элемент в качестве параметра:

onclick="thisFunction($(this));" 

и функции Получать как элемент:

function thisFunction(element) 
{ 
    $this = element; 
    //use it here 
} 
Смежные вопросы