В общем смысл скрипта такой: имеется див с классом .unlock при клике на него отменяются обработчики события для определённых классов, а сам элемент меняет класс на .lock. А клике снова на тот же элемент но с классом .lock - назначаются обработчики тем элементам с которых они были сняты.
делаю я это следующим образом (может не правильно):
function add_events(){
$('.e').bind('click',ex)
$('.ifp').bind('mouseover',movf)
$('.ifp').bind('mouseout',motf)
$('.ifp').bind('mouseup',muf)
$('.om:has(~.ulc)').bind('mouseover',movo)
$('.om:has(~.ulc)').bind('mouseout',moto)
$('.om:has(~.ulc)').bind('mousedown',mdno)
$('.om:has(~.ulc)').bind('mouseup',muo)
$('.no:has(~.ulc)').bind('click',act)
$('.hd:has(~.ulc)').bind('click',hd)
$('.uhd:has(~.ulc)').bind('click',hd)
$('.ulc').click(function(){
$(this).toggleClass('ulc').toggleClass('lc')
$('.om:has(~.lc)').unbind('mouseover',movo)
$('.om:has(~.lc)').unbind('mouseout',moto)
$('.om:has(~.lc)').unbind('mousedown',mdno)
$('.om:has(~.lc)').unbind('mouseup',muo)
$('.no:has(~.lc)').unbind('click',act)
$('.hd:has(~.lc)').unbind('click',hd)
$('.uhd:has(~.lc)').unbind('click',hd)
})
$('.lc').click(function(){
$(this).toggleClass('ulc').toggleClass('lc')
$('.om:has(~.ulc)').bind('mouseover',movo)
$('.om:has(~.ulc)').bind('mouseout',moto)
$('.om:has(~.ulc)').bind('mousedown',mdno)
$('.om:has(~.ulc)').bind('mouseup',muo)
$('.no:has(~.ulc)').bind('click',act)
$('.hd:has(~.ulc)').bind('click',hd)
$('.uhd:has(~.ulc)').bind('click',hd)
})
}
так вот unbind работает, а bind - нет