Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2018, 14:29
Новичок на форуме
Отправить личное сообщение для Daniel_sol Посмотреть профиль Найти все сообщения от Daniel_sol
 
Регистрация: 25.08.2018
Сообщений: 5

Не работает $(this) внутри объекта
Добрый день, написал маленький алгоритм, так как хочется сделать максимально красиво и читабельно решил переписать код в "объектном стиле". Пытаюсь найти ошибку дошел до того что (this) jqery не распознает как "этот элемент на который кликнули" Помогите пожалуйста, код ниже
$(document).ready(function() {
$("body").on("click","span",function(){obj_opros.click_positive()});
$("body").on("click","i",function() {obj_opros.click_negative()});
$("body").on("click","button",function() {obj_opros.click_button_opros()});
 });
var obj_opros={
  click_positive: function() {
    $(this).parents().eq(1).removeAttr("class");
    $(this).parents().eq(1).addClass("panel panel-default panel-success");
        },
  click_negative: function(){

    $(this).parents().eq(1).removeAttr("class");
    $(this).parents().eq(1).addClass("panel panel-default panel-danger");
  },
}

Последний раз редактировалось Daniel_sol, 25.08.2018 в 19:25. Причина: Ошибка
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2018, 15:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Daniel_sol,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2018, 15:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Daniel_sol,
$("body").on("click","span",obj_opros.click_positive);

или так
$("body").on("click","span",function() {
  $.proxy(obj_opros.click_negative,this)()
});

Последний раз редактировалось рони, 25.08.2018 в 15:39.
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2018, 19:30
Новичок на форуме
Отправить личное сообщение для Daniel_sol Посмотреть профиль Найти все сообщения от Daniel_sol
 
Регистрация: 25.08.2018
Сообщений: 5

Cпасибо большое, так заработало
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
replaceWith внутри each цикла не работает с моим тегом ruzik jQuery 4 23.09.2014 12:18
Вызов метода внутри объекта feoalter7 Общие вопросы Javascript 4 01.07.2014 16:23
Событие внутри функции или объекта shaltay Общие вопросы Javascript 2 27.06.2013 18:05
Как обратиться к переменной внутри объекта, в произвольной функцию через его метод platedz Элементы интерфейса 15 25.08.2012 00:03
Не работает скрипт: Предполагается наличие объекта Rem911 Общие вопросы Javascript 1 21.03.2011 21:26