Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   click в fancybox (https://javascript.ru/forum/dom-window/46915-click-v-fancybox.html)

RapCore 29.04.2014 16:12

click в fancybox
 
почему то никак не срабатывает click события в fancybox. мне просто нужно вставить текст в input при клике на ссылку
$('.tags_select a').click(function() {
    var value = $(this).text();
    var input = $('#text_tag_input');
    input.val();
    return false;
});

в fancybox не срабатывает, за пределами него все работает. как вылечить?

рони 29.04.2014 16:19

RapCore,
1.информации недостаточно - хорошо бы макет в песочнице.
2.картинка в fancybox может быть перекрыта элементами управления - стрелки вперёд назад - и клик будет по ним а не по ссылке

M-ka 29.04.2014 17:21

RapCore,
Ну может я ошибаюсь но все же, как мне кажется
var value = $(this).text(); //this, от которого надо получить текст не был передан в функцию function() {}, может следует было бы, что то типа function(event) {}, с которого через таргет получить место события

А что должно происходить с этим input.val(); ? Ну оно взяло значение с инпута, а что дальше должно сделать с этим?
Ну вообщем единое, что должна по клику сделать функция, это вернуть false

RapCore 29.04.2014 17:27

M-ka,
вы правы, я пременую упустил при размещение поста
$('.tags_select a').click(function() {
    var value = $(this).text();
    var input = $('#text_tag_input');
    input.val( value );
    return false;
});

M-ka 29.04.2014 17:31

RapCore,
ну одну ошибку подправили...
Вы смотрели, что у вас в this ???// var value = $(this).text();
Сделайте вывод в консоль...
Возможно this было переопределено ранее, случайно или не очень, если эта функция вложена в другую функцию...

RapCore 29.04.2014 17:43

M-ka,
ну вот код который я пытаюсь подружить с fancybox
http://jsfiddle.net/kn3Qu/368/
как только вставляю его во внутрь блока который подгружаеться нашим fancy он перестает работать

M-ka 29.04.2014 17:53

RapCore,
Сделать какой то алерт на клик для начала с текстом, что бы проверить, запускается ли по клику функция, если запускается, посмотрите, что вам возвращает в консоль this в строке $(this).text();

RapCore 29.04.2014 18:24

M-ka,
в том и прикол что форма отправляет даные нормально, но вот с этим(да и не только, я перепробовал с деяток разных скриптов и ни один не хотел вставлять в input) кодом какая от лажа. обидно что это последняя функция которую не мгу доделать и сдать сайт(

рони 29.04.2014 18:50

RapCore,
:write: так работает ...
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>demo</title>
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
  <link rel="stylesheet" type="text/css" href="http://fancyapps.com/fancybox/source/jquery.fancybox.css">
  <script type='text/javascript' src="http://fancyapps.com/fancybox/source/jquery.fancybox.js"></script>
  <script type='text/javascript' src="http://fancyapps.com/fancybox/source/helpers/jquery.fancybox-thumbs.js"></script>
<script type='text/javascript'>
 $(function()
 		{
 			 $(".fancyboxmain").fancybox({ type: 'iframe'});
 		});
</script>
</head>
<body>
<a class="fancyboxmain" href="http://fiddle.jshell.net/kn3Qu/368/show/" rel="i am fancyboxinfo">go fancyboxinfo</a>
</body>
</html>

рони 29.04.2014 18:58

RapCore,
и даже так работает ... :write:
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>demo</title>
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
  <link rel="stylesheet" type="text/css" href="http://fancyapps.com/fancybox/source/jquery.fancybox.css">
  <script type='text/javascript' src="http://fancyapps.com/fancybox/source/jquery.fancybox.js"></script>
  <script type='text/javascript' src="http://fancyapps.com/fancybox/source/helpers/jquery.fancybox-thumbs.js"></script>
<script type='text/javascript'>
 $(function () {
     $(".test").fancybox({
         type: 'inline'
     });
     $('.tags_select a').click(function () {
         var value = $(this).html();
         var input = $('#text_tag_input');
         input.val(value);
         return false;
     });
 });
</script>
</head>
<body>
<a class="test" href="#info" >go fancyboxinfo</a>
<div id="info" style="display: none">
<input id="text_tag_input" type="text" name="tags" />
<div class="tags_select">
    <a href="#">text1</a>
    <a href="#">text2</a>
    <a href="#">text3</a>
</div>
</div>

</body>
</html>


Часовой пояс GMT +3, время: 00:20.