Показать сообщение отдельно
  #1 (permalink)  
Старый 06.05.2010, 12:18
Интересующийся
Отправить личное сообщение для exvion Посмотреть профиль Найти все сообщения от exvion
 
Регистрация: 25.01.2010
Сообщений: 27

Передать this в function
Пробую избавиться от дублирющихся кусков кода.
Вот исходник.
$(":checkbox").change(
	function () {
	if ($(this).attr('checked'))
		{
			$(this).closest("div").removeClass("checkboxOff");
			$(this).closest("div").addClass("checkboxOn");
			$(this).next("label").css('color','#FFFFFF');
		}
		else 
		{	
			$(this).closest("div").removeClass("checkboxOn");
			$(this).closest("div").addClass("checkboxOff");
			$(this).next("label").css('color','#000000');
		}
	});

$(":checkbox").click(
	function() {
	if ($(this).attr('checked'))
		{
			$(this).closest("div").removeClass("checkboxOff");
			$(this).closest("div").addClass("checkboxOn");
			$(this).next("label").css('color','#FFFFFF');
		}
		else 
		{	
			$(this).closest("div").removeClass("checkboxOn");
			$(this).closest("div").addClass("checkboxOff");
			$(this).next("label").css('color','#000000');
		}
	});


Как передать this в функцию?
somefunc=function(){
	if ($(this).attr('checked'))
		{
			$(this).closest("div").removeClass("checkboxOff");
			$(this).closest("div").addClass("checkboxOn");
			$(this).next("label").css('color','#FFFFFF');
		}
		else 
		{	
			$(this).closest("div").removeClass("checkboxOn");
			$(this).closest("div").addClass("checkboxOff");
			$(this).next("label").css('color','#000000');
		}

$(":checkbox").click(somefunc($(this)));
$(":checkbox").change(somefunc($(this)));
Ответить с цитированием