Показать сообщение отдельно
  #3 (permalink)  
Старый 15.01.2012, 01:26
Аспирант
Отправить личное сообщение для IONEX Посмотреть профиль Найти все сообщения от IONEX
 
Регистрация: 08.01.2012
Сообщений: 32

Спасибо за ссылку, все понятно, нужно использовать bind для этого, а для обращения к доп. переменной через запись eventOBJ.data. с этим разобрались...

Но хотелось бы отказать от конструкции приведенной в примере:


$('#foo').bind('click', {msg:'Spoon!'}, function(eventObject){
  alert(eventObject.data.msg);
});


а заменить на (так наглядней):

$('#foo').bind('click', {msg:'Spoon!'}, eventfunc);

function eventfunc(eventObject) {
  alert(eventObject.data.msg);
};


Реализация моего кода:

Согласно конструкции приведенной в Хелпе:

<script language="javascript">
        $(document).ready( function () {
            var li_tabs=$('#horisontal-tabs li'); 
            
	        $('#horisontal-tabs li').bind('click', {tabs:'$li_tabs'}, activeElement(obj){
	           $(obj.data.tabs).filter("*[class='active']").each(function (){
	               $(this).toggleClass('active unactive');
	           });
	           $(obj.target).toggleClass('active unactive');
            });
        });
    </script>


С вызовом отдельной процедурой:

<script language="javascript">
        $(document).ready( function () {
            var li_tabs=$('#horisontal-tabs li'); 
            
	        $('#horisontal-tabs li').bind('click', {tabs:'$li_tabs'}, activeElement(obj));
            
            
            function activeElement(obj) {
	           $(obj.data.tabs).filter("*[class='active']").each(function (){
	               $(this).toggleClass('active unactive');
	           });
	           $(obj.target).toggleClass('active unactive');
            };
            

        });
    </script>


Ни в каком виде не заработало, при обработке просто click (без bind), без передачи доп. данных все работает.
Ответить с цитированием