Javascript.RU

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

backbone и проблема с this
Занялся перепиской своего кода на jQuery под backbone, ибо эта "лапша" надоела >< Но возникла проблема- я использую backbone-on-rails (т.е. серверная часть Rails), и имею вот такой кусок кода:
class Sv.Views.StepsStep1 extends Backbone.View
  template: JST['steps/index']

  el: '#box1'

  events:
    'blur :input': 'change' # Change


  change: -> alert($(this).attr('id'))


Но проблема в том, что this в методе change ссылается не на input, с навешенным blur, а на класс Sv.Views.StepsStep1 >_<
Есть какой нибудь способ передать\определить в методе нужный мне $(this)?
Ответить с цитированием
  #2 (permalink)  
Старый 15.09.2012, 09:49
Аспирант
Отправить личное сообщение для _axl Посмотреть профиль Найти все сообщения от _axl
 
Регистрация: 21.07.2009
Сообщений: 39

this.$el.find("твой инпут")
Ответить с цитированием
  #3 (permalink)  
Старый 17.09.2012, 18:34
Интересующийся
Отправить личное сообщение для ssnikolay Посмотреть профиль Найти все сообщения от ssnikolay
 
Регистрация: 12.09.2012
Сообщений: 11

Таким образом я могу обратиться лишь по id'шнику к примеру.
Т.е.
this.$el.find("#input1");
А у меня их по 6 на странице... т.е. придется
this.$el.find("#input1");
this.$el.find("#input2");
...
this.$el.find("#input6");
вместо к примеру
$(':input').click(function(){ $(this).attr('id') });
Ответить с цитированием
  #4 (permalink)  
Старый 18.09.2012, 19:25
Аспирант
Отправить личное сообщение для _axl Посмотреть профиль Найти все сообщения от _axl
 
Регистрация: 21.07.2009
Сообщений: 39

Цитата:
А у меня их по 6 на странице... т.е. придется
ну во-первых, он будет искать не на странице, а в том элементе который ты указал:
el: '#box1'


во-вторых можно сделать так:

events:{
    'blur :input': 'change'
}

change : function(event){
var element = $(event.target); // твой инпут
}
Ответить с цитированием
  #5 (permalink)  
Старый 18.09.2012, 21:47
Интересующийся
Отправить личное сообщение для ssnikolay Посмотреть профиль Найти все сообщения от ssnikolay
 
Регистрация: 12.09.2012
Сообщений: 11

_axl, решение - в точку, с меня пиво! Респект! (:
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
backbone и проблема с this ssnikolay Библиотеки/Тулкиты/Фреймворки 0 12.09.2012 16:28
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12