Не работает $(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,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Daniel_sol,
$("body").on("click","span",obj_opros.click_positive); или так $("body").on("click","span",function() { $.proxy(obj_opros.click_negative,this)() }); |
Cпасибо большое, так заработало
|
Часовой пояс GMT +3, время: 15:37. |