focus на div
Всем доброго времени суток.
ребят не могу разобраться с фокусом почему то не работает перелазил не одну документацию. просто не выводит не alert не console.log есть лекое подозрение на то что это из за того что я пытаюсь сделать фокус не на инпуты а на див задача следущая при нажатии на блок мы показываем второй блок (display:block) при нажатии на другой любой элемент мы его скрываем пишу вот так $('.div-one).focus(function () { $('.div-two').css('display','block'); }); не могу понять почему он его не показывает еще одна проблема незнаю как сделать чтоб при нажатии на любой другой блок он его скрывал. помогите пожалуйста. заранее спасибо. |
Цитата:
|
понял тебя)
если сказать другими словами то будет так когда мы получаем фокус на див с классом div-one то мы показываем другой блок когда мы терям фокус с него то мы скрывваем второй блок |
Цитата:
|
нажать на него, перейти на него) начинаю тебя понимать.
следовательно мы нажимаем на него, а не получаем фокус, так!? так как на инпут мы можем перейти и через таб, а на див нет, так получается!? |
т.е. получаеться объект должен быть активным
|
Цитата:
Т.е. нужно обрабатывать обычный click... |
если рассказать по подробнее задачу то она выглядит так
есть див one-div в нем еще один див two-div при нажатии на one-div мы отображаем two-div именно в этом блоке(так как див one-div не один) и добавляем див фиксированным позифионированием и ширина и высота по 100%(он будет служить скрыванием блоков) <div class='one-div'> <div class='two-div'>Привет</div> </div> <div class='one-div'> <div class='two-div'>Пока</div> </div> <div class='close'></div> реализовал так : $(document).ready(function(){ $('.one-div').click(function(){ $(this).children('.two-div').css('display','block'); $('.close').css('display','block'); }); $('.close').click(function(){ $('.two-div').css('display','none'); $('.close').css('display','none'); }); }); т.е. при нажатии мы показываем див, ставим закрывающий див в display block который у нас перекрывает всю страницу кроме дива который мы показали и при нажатии на закрывающий див мы все обратно скрываем чесно говоря мне не очень нравится этот метод мне кажется что можно сделать правильней. Ksa что ты об этом думаешь? |
Вариант:
<!DOCTYPE> <html> <head> <style> .cover { color:red; position:relative; border-radius:5px; border:red solid 1px; width:200px; height:145px; margin:23px; } .one-div { position:absolute; display:none; left:0;right:0; top:0;bottom:0; width:50%; height:40%; margin:auto; padding:8px; color:#000; border-radius:5px; border:#000 solid 1px; text-align:center; } b[title="Закрыть"]{ cursor:pointer; float:right; padding:2px 4px; color:red; } </style> <script type="text/javascript" src="http://yandex.st/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('.cover').click(function(){ $(this).find('.one-div').toggle(); }); $('.one-div').click(function(){return false}); $('.one-div>b[title="Закрыть"]').click(function(){ $(this).parents('.cover').click(); }); }); </script> </head> <body> <div class='cover'> <div class='one-div'><b title="Закрыть">X</b>Привет</div> </div> <div class='cover'> <div class='one-div'><b title="Закрыть">X</b>Пока</div> </div> </body> </html> |
Спасибо попробую):yes:
|
Часовой пояс GMT +3, время: 01:57. |