Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
19 / 19 / 9
Регистрация: 22.11.2010
Сообщений: 321

Отвязать событие для блока

29.10.2014, 14:34. Показов 1207. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
На сайте доделываю боковую панельку по умолчанию она имеет ширину 70px(маленькая) при клике на кнопку ширина увеличивается до 300px(большая) на этой панельке есть инпут поиск и два инпута (логин/пароль) обернутые блоком div. При большой панельке если кликнуть куда нибудь в любое место на странице включая боковую панель она (она панель) автоматически уменьшается до своего первоначального состояния 70px, как сделать чтобы если кликать на боковой панели она не уменьшалась, а если кликать по контенту на странице то уменьшалась до 70px.

для инпута поиск есть код который отменяет действие но там все происходит по событию focus а для div нет такого события

Вот код для инпута поиск


JavaScript
1
2
3
4
5
6
7
8
    $('.searchForm input[type=text]').focus(function () {
                $('html').unbind('click');  
            }).blur(function() {
                GNmenu.bodyClick();                                             
            });
                                            
        
        },
код полностью:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
$(function () {
    
    var GNmenu = {
        isMenuOpened: false,
        init : function () {
 
            var menuBtn = $('#btn-menu');
            
            // make it work on touch screen device and mouse click заставить его работать на устройстве с сенсорным экраном и мыши
            menuBtn.on('touchstart click', function (e) {
                e.stopPropagation();
                e.preventDefault();
                
                /* if the menu is half show, show the whole menu instead of hide it  если меню половина шоу, показать все меню вместо скрыть*/
                if ($('#sideNav').hasClass('showHalfMenu') && !$('#sideNav').hasClass('showFullMenu')) {
                    GNmenu.showFullMenu();
                } else {
                    GNmenu.toggleMenu();                                                
                }
                
            });
 
            // only do all this if it's desktop ---------------------------------------------------------------------При наведении на панель открывается полностью
            /* if (!GNmenu.isMobile()) {
 
                menuBtn.bind('mouseover', function () {
                        GNmenu.showHalfMenu();
                });
                
                menuBtn.bind('mouseout', function () {
                        GNmenu.hideMenu();
                }); 
            
                $('#sideNav').bind('mouseover', function () {
                        GNmenu.showFullMenu();
                });                                         
 
                // this allow user to hide the menu by clicking on web page body
                GNmenu.bodyClick();
            }*/
            
            
            // search form форма поиска
            // unbind the bodyClick event----------------------------------------отвязать событие bodyClick 
            $('.searchForm input[type=text], .auth input[type=text]').focus(function () {
                $('html').unbind('click');  
            }).blur(function() {
                GNmenu.bodyClick();                                             
            });
                                            
        
        },
        
        
        
        bodyClick: function () {
        
            $('html').bind('click',function () {
                if (GNmenu.isMenuOpened) {
                    GNmenu.hideMenu();                                                      
                }
            });                 
        
        },
        
        toggleMenu: function () {
            if (!GNmenu.isMenuOpened) {
                GNmenu.showFullMenu();
            } else {
                GNmenu.hideMenu();                  
            }
        },
        
        showHalfMenu: function () {
            $('#sideNav').addClass('showHalfMenu');
            GNmenu.isMenuOpened = true;                 
        },
        //--------------------------Добавление класса
        showFullMenu: function () {
            $('#btn-menu').addClass('icon-menu-active abuttonm icon-butclose');
            $('#sideNav').addClass('showFullMenu');
            $('#sideNav ul li a').addClass('levo');
            $('.hide').addClass('hideli');
            $('#contte').addClass('ledo');
            $('.minbar').addClass('hideminbar');
            $('.whitefon').addClass('whitefonleft');
            $('.cont').addClass('widthside');
            $('#libut').addClass('libuttonm');
            
            $('html').addClass('cursor');               
            GNmenu.isMenuOpened = true;                         
        },
        //------------------------------Удаление класса
        hideMenu: function () {
            $('#btn-menu').removeClass('icon-menu-active abuttonm icon-butclose');
            $('#sideNav').removeClass('showFullMenu showHalfMenu'); 
            $('#sideNav ul li a').removeClass('levo');  
            $('.hide').removeClass('hideli');
            $('#contte').removeClass('ledo');   
            $('.minbar').removeClass('hideminbar');
            $('.whitefon').removeClass('whitefonleft');
            $('.cont').removeClass('widthside');
            $('#libut').removeClass('libuttonm');           
            $('html').removeClass('cursor');                        
            GNmenu.isMenuOpened = false;                    
        },
        
        // Mobile Detection: [url]http://stackoverflow.com/a/11381730[/url]             
        isMobile: function() {
            var check = false;
            (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
            
            return check;                   
        }
        
    }
    
    // Run the Google Nexus Inspired Menu
    GNmenu.init();
    
});
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2014, 14:34
Ответы с готовыми решениями:

SlideToggle() отключить событие для блока внутри блока с .slideToggle()
У меня есть такой скрипт: $(".cl_item").click(function() { $(this).children(".cli_popup").slideToggle(); }); В...

Событие изменения состояния чекбокса + видимость дополнительного блока
Помогите. Я не знаю как объяснить по-другому мне надо не целая форма после загрузке, а лишь половина. такие штуки обычно в кряках...

Установить размер для блока :before такой же, как у блока которому прописывается псевдоэлемент
Суть в том, что мне нужно сделать так, чтобы блок ::before проходил через середину блока .number и имел такую же высоту, как блок...

2
19 / 19 / 9
Регистрация: 22.11.2010
Сообщений: 321
04.11.2014, 12:11  [ТС]
Тема еще актуальна буду рад помощи
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.11.2014, 15:05
Dr@gon., я не вижу вашу структуру, но попробую описать то, что вам надо сделать. На тех элементах, где клик не должен сворачивать панель, добавляете событие click (если его еще нет) с отменой всплятия событий. Например, по клику на форму поиска, панель не должна сворачиваться:
JavaScript
1
2
3
$('.search_form').on('click', function(e){
    e.stopPropagation();
});
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.11.2014, 15:05
Помогаю со студенческими работами здесь

Блока питания для конкретной сборки системного блока
Доброго времени суток. Подскажите, пожалуйста, можно ли использовать (правильней сказать - "рекомендуется ли") блок питания...

Отвязать apple id
Все привет! Заранее извиняюсь, если тема уже была. Столкнулся с такой проблемой: купил б/у iphone 4s. Он работает и с ним все окей, только...

Отвязать зеркало
Приветствую всех! купил домен на аукционе r01.ru. Домен - pr-grass.ru Он являлся зеркалом agava.ru. Оптимизатор работающий над...

Отвязать gnuplot от терминала
Суть в следующем. Есть массив данных, необходимо построить график по изначальным данным, обработать данные и построить выходной график. ...

Отвязать привязку по железу
Здравствуйте. Как отвязать dll? Декомпил из иды,но видимо не полный: /* This file has been generated by the Hex-Rays decompiler. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru