Я испытываю странное поведение с .bind()
и .unbind()
в JQuery, хотя моя ситуация, по-видимому, идентична примеру, приведенному на сайте JQuery. В этом случае bind / unbind применяется к вкладке JQuery (одна из многих). При нажатии на вкладку загружается действие контроллера через ajax.
# show.html.erb:
$(document).ready( function(){
var projectNav = function(){
$("#tabs-project .loadingDiv").show();
$.ajax({ url: "<%= url_for(params.except(:action).merge(:action => 'show_project')) %>", dataType: 'script' })
};
$("#projectMenuButton").bind('click', projectNav);
});
# show_project.js.erb
$("#tabs-project .loadingDiv").remove();
$("#tabs-project").append('<%= escape_javascript(render :partial => "profiles/project")%>')
$("#projectMenuButton").unbind('click', projectNav);
Партия .unbind()
работает не так - повторное нажатие кнопки меню снова загружает партиал.
Когда я изменяю существующую отмену привязки на $("#projectMenuButton").unbind('click');
, она отменяет привязку всего, включая основную функцию вкладки (для переключения представления на правый элемент div).