Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не срабатывает функция. (https://javascript.ru/forum/jquery/49790-ne-srabatyvaet-funkciya.html)

-=1100=- 28.08.2014 13:46

Не срабатывает функция.
 
Добрый день.

При нажатии на div с классом .zakaz должна срабатывать функция.

$(".zakaz").bind("click",function(){
		$("title").text($(this).attr("alt"));
		$("body").append("<div id='black_win'>");
		$("body").append("<div id='black_win_form'><div style='padding:30px; text-align:center;'>Загрузка...</div><div>");
		$("#black_win_form").alignCenterScreen();
		$("#black_win_form").hide().slideDown("1700");
.....


Но при нажатии таракан выводит это

TypeError: $(...) is null
    $("title").text($(this).attr("alt"));


Если убрать это
$(".zakaz").bind("click",function(){
и закрывающею часть, то все работает.

Пробовал так
$(".zakaz").click(function(){
- Не помогло
Делал так
function zakaz(){
                $("title").text($(this).attr("alt"));
		$("body").append("<div id='black_win'>");
...
- Ошибка таже

Делаю это на joomla 3 (скачивал пару дней назад)
JQ от сюда - http://yandex.st/jquery/1.8.3/jquery.min.js. Пробовал и последнею версию.

На сайте есть jquery.nivo.slider.pack.js.js (слайд шоу) - работает

Может кто сталкивался с такой проблемой?

BETEPAH 28.08.2014 14:02

document.title = $(this).attr("alt");

-=1100=- 28.08.2014 14:15

TypeError: $(...).attr is not a function
document.title = $(this).attr("alt");


Тут проблем в другом, но вот в чем?...

Гробовщик 28.08.2014 14:28

-=1100=-,
А html код можешь приложить, такое очучение что атрибут "alt" пустой. Есть предположение что это из-за того что у тебя стоит class и скрипт теряеться, для него становиться не совсем понятен (this)
А ещё как то странно атрибут alt для div? он ведь только у img

-=1100=- 28.08.2014 14:36

Гробовщик,
Не тут дело не в alt. Я вообще убрал строку $(this).attr("alt");
Вот что выдает
TypeError: $(...) is null
$("body").append("<div id='black_win'>");


Я выше писал, что если убрать $(".zakaz").bind("click",function(){ - то все работает.
Выдает ошибку именно тогда, тогда находится в функции.

-=1100=- 28.08.2014 14:43

Так выдает ошибку

TypeError: $(...) is null
	alert($("title").text());

Ошибка возникает именно при клике.
$(document).ready(function() {
  $(".zakaz").bind("click",function(){
	alert($("title").text());
  });
});


Так работает
$(document).ready(function() {

	alert($("title").text());

});

ruslan_mart 28.08.2014 14:48

-=1100=-, Заголовок страницы лучше получать так: document.title

То есть:
$(function() {
	$(".zakaz").click(function(){
		alert(document.title);
	});
});

-=1100=- 28.08.2014 14:52

Ruslan_xDD,
Это просто пример.
Я показываю на элементарном примере, что событие click ( и другие) выдают ошибку.

BETEPAH 28.08.2014 15:18

-=1100=-,
а ниже по коду никакая матрешка не переопределяет доллар?

-=1100=- 28.08.2014 15:28

BETEPAH,

Вот Хед
я делаю в template.js

<title>Home</title>
  <link href="" rel="canonical" />
  <link href="/?format=feed&amp;type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
  <link href="/?format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
  <link href="/templates/yoga-pay/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
  <script src="/media/jui/js/jquery.min.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery-noconflict.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery-migrate.min.js" type="text/javascript"></script>
  <script src="/media/system/js/caption.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/core.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
  <script type="text/javascript">
jQuery(window).on('load',  function() {
				new JCaption('img.caption');
			});
  </script>

            <meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
   <link rel="icon" type="image/vnd.microsoft.icon" href="/favicon.ico">
       <link href="/favicon.ico" rel="shortcut icon" />

      <link rel="stylesheet" href="/templates/yoga-pay/css/reset.css" type="text/css" />
      <link rel="stylesheet" href="/templates/yoga-pay/css/style.css" type="text/css" />
      <link rel="stylesheet" href="/templates/yoga-pay/css/slideshow.css" type="text/css" />
			<script type="text/javascript" src="http://yandex.st/jquery/1.8.3/jquery.min.js"></script>
      <script type="text/javascript" src="/templates/yoga-pay/js/jquery.nivo.slider.pack.js.js"></script>
      <script type="text/javascript" src="/templates/yoga-pay/js/template.js"></script>
      <script type="text/javascript">
				$(document).ready(function() {
					$('.bannergroup').nivoSlider();
				});
			</script>
   </head>


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