У вас здесь много проблем.
Вы пытаетесь привязать событие к несуществующему методу hide
, ваш events
должен выглядеть следующим образом:
events: {
'click #more': 'more',
'click #hide': 'less',
},
Ваш initialize
метод пытается связать метод next
, который не существует. Ваш initialize
должен выглядеть примерно так:
initialize: function (){
_.bindAll(this, 'render', 'more', 'less');
this.render();
},
Ваш метод more
устанавливает id
на #hide
, но это должно быть hide
:
more: function (){
$('#more').text('Hide more').attr('id', 'hide');
$('#show').show();
},
Ваш метод less
не переключает id
обратно на more
:
less: function (){
$('#hide').text('Show more').attr('id', 'more');
$('#show').hide();
}
А после less
у вас есть запятая, которая сделает некоторые браузеры несчастными.
Демо: http://jsfiddle.net/ambiguous/8HkdT/
Поменять атрибуты id
таким образом, немного хитро. Вам было бы лучше с отдельными ссылками, которые вы показываете и скрываете вместе с <div>
или просто с одной кнопкой-переключателем , которая выполняет показ и скрытие.