Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 1
Регистрация: 07.02.2016
Сообщений: 5
1

Люди, подскажите, пожалуйста обработчик

07.02.2016, 20:59. Просмотров 358. Ответов 2


Скорее всего мой случай очень простой, но я уже несколько дней ломаю голову)
Я использую метод on() потому что элементы, которые слушают событие, должны так же слушать события
на других элементах, поэтому addEventListener здесь не катит. Подскажите, пожалуйста, как сделать
чтобы обработчик срабатывал постоянно?
Вот то, о чем я говорю - обработчик срабатывает, к сожалению, только два раза:
Javascript
1
2
3
4
5
6
7
8
9
$('#wrapper').children().children().on("click", "div.listener", function(e) {
            $( "div.listener" ).css("display", "none");
            $( "#clicker" ).bind("click", function(e) {
                $( "div.listener" ).css("display", "block");
                })
        });
    $( "#clicker" ).bind("click", function(e) {
        $( "div.listener" ).trigger("click");
        });
Вот весь код целиком - можно запустить для наглядности:
PHP/HTML
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Документ без названия</title>
<script src="js/jquery-1.11.3.js"></script>
<script type="text/javascript">
 
$(document).ready(function(){
    
    var allFormBlocks = document.getElementsByClassName("formblock");
    var hiddenArr = $(allFormBlocks);
    hiddenArr.slice(1).hide();
    
    $("div.listener").css("color", "red");
 
    $('#wrapper').children().children().on("click", "div.listener", function(e) {
            $( "div.listener" ).css("display", "none");
            $( "#clicker" ).bind("click", function(e) {
                $( "div.listener" ).css("display", "block");
                })
        });
    $( "#clicker" ).bind("click", function(e) {
        $( "div.listener" ).trigger("click");
        });
    
    $('#button1').bind("click", function(e){//конец блока1 следующий раздел
                            $('#block1').hide();
                            $('#block2').show();
                            }); 
 
    
    $('#button2').bind("click", function(e){//конец блока2 следующий раздел
                            $('#block2').hide();
                            $('#block3').show();
                            });
                                                            
    $('#button3').bind("click", function(e){//конец блока2 предыдущий раздел
                                $('#block2').hide();
                                $('#block1').show();
                                }); 
    $('#button4').bind("click", function(e){//конец блока3 предыдущий раздел
                                $('#block3').hide();
                                $('#block2').show();
                                });                                 
});
 
 
 
</script>
</head>
<body>
 
<div id="wrapper">
    <div class="testform">
        <form method="POST" name="form">
 
                <div class="formblock" id="block1">
                    <h1>Это блок №1</h1>
                    <div>
                    <p><label><input id="clicker"  type="checkbox" name="npo" value="0">скрыть некоторые элементы<label></p>
                    </div>
                    <div>DIV блока №1</div>
                    <div class="listener">Это тоже DIV блока №1</div>
                    <div>и это тоже DIV блока №1</div>
                    <button type="button" id="button1">следующий раздел</button>
                </div>
                <div class="formblock" id="block2">
                    <h1>Это блок №2</h1>
                    <div>DIV блока №2</div>
                    <div class="listener">Это тоже DIV блока №2</div>
                    <div>и это тоже DIV блока №2</div>
                    <button type="button" id="button2">следующий раздел</button></br>
                    <button type="button" id="button3">предыдущий раздел</button>           
                </div>
                <div class="formblock" id="block3">
                    <h1>Это блок №3</h1>
                    <div>DIV блока №3</div>
                    <div class="listener">Это тоже DIV блока №3</div>
                    <div>и это тоже DIV блока №3</div>   
                    <button type="button" id="button4">предыдущий раздел</button>
                </div>
        </form>
    </div>
</div>  
</body>
</html>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2016, 20:59
Ответы с готовыми решениями:

Отцепить обработчик, выполнить свой код, вернуть обработчик
Подскажите, возможно ли такое в JS? Практическая ситуация такая: хочу написать свой скрипт для...

Подскажите, пожалуйста
Здравствуйте. Хотел сделать форму, которая бы делала подсчет. Вроде сделал все правильно, но при...

Подскажите пожалуйста!
Как можно на js сделать скролл в определенный столбец td ... у столбца просто есть определенные...

Подскажите пожалуйста!
как мне сделать так чтобы после выполнение задания происходило автоматическое Обновление баланса?,к...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы Fullstack-разработчиков на JavaScript‌
2
34 / 34 / 20
Регистрация: 02.02.2016
Сообщений: 123
08.02.2016, 09:31 2
да вроде нормально работает (фф,ие,хром)
0
0 / 0 / 1
Регистрация: 07.02.2016
Сообщений: 5
08.02.2016, 13:06  [ТС] 3
Подсказали:
Javascript
1
2
3
4
function SH() {
        $('эл-т, к-й реагирует на событие').slideToggle();
    }
    $('#эл-т, на к-ом происходит событие').on('click',SH);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2016, 13:06

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Подскажите пожалуйста!
Мне нужно чтобы на заданные числа человека после оплаты на сайте выходило одно сообщение, а в иных...

Пожалуйста подскажите!
Есть игра на очки по типу орел и решка скрин в низу. У меня есть JS код игры подскажите пожалуйста...

Подскажите люди пожалуйста
Вот такая ошибка Parse error: syntax error, unexpected T_SL in...

Подскажите люди пожалуйста как поступить?
Проблемы с видеокартой Nvidia fx5500- мой компьютер перестал ее видеть по неизвестным мне причинам....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.