Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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)));
Ответить с цитированием
  #2 (permalink)  
Старый 06.05.2010, 12:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от exvion
Как передать this в функцию?
http://javascript.ru/tutorial/object...ord#apply-call
Ответить с цитированием
  #3 (permalink)  
Старый 06.05.2010, 12:29
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

somefunc=function($this){
    if ($this.attr('checked'))
        {
            $this.closest("div").removeClass("checkboxOff");
...
$(":checkbox").click(function(){somefunc($(this));});

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

Kolyaj.
Отправился читать. Спасибо за ссылку.
micscr
Как всегда оперативно и по делу. Огромное спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
$('my').load(); Как сделать, чтобы это заработало mycoding Общие вопросы Javascript 25 02.10.2016 23:43
CComponent - кроссбраузерные компоненты tenshi Ваши сайты и скрипты 5 20.04.2010 23:22
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
Выпадающий калькулятор, помогите... Silentz Общие вопросы Javascript 2 23.01.2010 10:39
Модуль для работы с геометрией окна JSprog Библиотеки/Тулкиты/Фреймворки 25 31.08.2009 12:54