Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / [JQuery] Вызов ф-ии. 3 способа... / 10 сообщений из 10, страница 1 из 1
06.02.2016, 02:09
    #39164651
Danis-Inf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
Всем привет, хочу понять, почему не работает вызов ф-ии.

Пример 1 - Работает

HTML:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<html>
	<head>
		<script type="text/javascript">
			function alerfunc() {
				alert("click");
			}
		</script>
	</head>
<body>
	<div class="or_title" onclick="alerfunc()">
</body>
</html>



Пример 2 - Работает

HTML:

Код: html
1.
2.
3.
4.
5.
<html>
<body>
	<div class="or_title">
</body>
</html>



jQuery:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
(function ($) {
	$(document).ready(function() {
		
		$('.or_title').click(function() {
			alert('click');
		});
		
	});	
})(jQuery);



Пример 3 - Не работает

HTML:

Код: html
1.
2.
3.
4.
5.
<html>
<body>
	<div class="or_title" onclick="alerfunc()">
</body>
</html>



jQuery:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
(function ($) {
	$(document).ready(function() {
		
		$('div.or_title').attr("onClick", "alerfunc()");
		
		function alerfunc() {		
			alert('click');
		}
		
	});	
})(jQuery);



Событие onClick во всех трёх примерах вешается одинаково, через JS (3-й пример)
Раньше третий способ вроде работал, не могу понять, пожалуйста помогите.
...
Рейтинг: 0 / 0
06.02.2016, 02:26
    #39164659
svpk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
В третьем случае функция alerfunc находится вне области видимости.
Ее надо вынести из ready.
...
Рейтинг: 0 / 0
06.02.2016, 02:40
    #39164662
Danis-Inf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
svpk, Уже выносил, не прокатило...

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
(function ($) {
	$(document).ready(function() {
		
		$('div.or_title').attr("onClick", "alerfunc()");		

	});

	function alerfunc() {		
		alert('click');
	}

})(jQuery);
...
Рейтинг: 0 / 0
06.02.2016, 08:51
    #39164683
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
Danis-Infsvpk, Уже выносил, не прокатило...

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
(function ($) {
	$(document).ready(function() {
		
		$('div.or_title').attr("onClick", "alerfunc()");		

	});

	function alerfunc() {		
		alert('click');
	}

})(jQuery);

так тут тоже. для ready область видимости - глобальная, а тут alerfunc закрыта в function($).
...
Рейтинг: 0 / 0
06.02.2016, 11:31
    #39164708
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
Danis-Infsvpk, Уже выносил, не прокатило...

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
(function ($) {
	$(document).ready(function() {
		
		$('div.or_title').attr("onClick", "alerfunc()");		

	});

	function alerfunc() {		
		alert('click');
	}

})(jQuery);



Код: javascript
1.
2.
3.
4.
5.
...
window.alerfunc = function() {
    alert('click');
}
...
...
Рейтинг: 0 / 0
08.02.2016, 08:17
    #39165222
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
Danis-InfРаньше третий способ вроде работал, не могу понять, пожалуйста помогите.
Про область видимости уже писали...

Код: 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.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
(function ($) {
	$(document).ready(function() {
		$('div.or_title').attr("onclick", 'alerfunc();');
	});	
})(jQuery);
function alerfunc() {		
	alert('click');
};
</script>
</head>
<body>
	<div class="or_title">
		or_title
	</div>
</body>
</html>
...
Рейтинг: 0 / 0
10.02.2016, 03:15
    #39167216
Danis-Inf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
Antonariy, Програмёр, krvsa
Спасибо!

Сделал:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
(function ($) {
	$(document).ready(function() {
		$('div.or_title').attr("onClick", "alerfunc()");		
	});
})(jQuery);

function alerfunc() {		
	alert('click');
}



Но не могу понять, как заставить работать jQuery функции.

Работает:
Код: javascript
1.
2.
3.
4.
5.
6.
(function ($) {
	$(document).ready(function() {
		$('div.or_title').attr("onClick", "alerfunc()");
		$('.or_title').addClass('CCCCCCC');
	});
})(jQuery);



Не работает:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
(function ($) {
	$(document).ready(function() {
		$('div.or_title').attr("onClick", "alerfunc()");		
	});
})(jQuery);

function alerfunc() {
	$('.or_title').addClass('CCCCCCC');
}
...
Рейтинг: 0 / 0
11.02.2016, 14:10
    #39168589
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
Danis-InfНе работает:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
(function ($) {
	$(document).ready(function() {
		$('div.or_title').attr("onClick", "alerfunc()");		
	});
})(jQuery);
function alerfunc() {
	$('.or_title').addClass('CCCCCCC');
}


Бивас, тест! (с)
Код: 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.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.CCCCCCC {
	color: red;
}
</style>
<script type='text/javascript'>
(function ($) {
	$(document).ready(function() {
		$('div.or_title').attr("onClick", "alerfunc()");		
	});
})(jQuery);
function alerfunc() {
	$('.or_title').addClass('CCCCCCC');
}
</script>
</head>
<body>
	<div class="or_title">
		or_title
	</div>
</body>
</html>


Таки работает!
...
Рейтинг: 0 / 0
18.02.2016, 03:34
    #39173689
Danis-Inf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
krvsa, Большое спасибо, что откликаетесь!

Не могу отловить причину...
Видимо что то в окружении влияет, но что, не понятно, странно...

Показывается алерт, класс не присваивается:

Код: java
1.
2.
3.
4.
function alerfunc() {
	alert('click');
	$('.or_title').addClass('CCCCCCC');
}



Не показывается алерт, класс не присваивается:

Код: javascript
1.
2.
3.
4.
function alerfunc() {
	$('.or_title').addClass('CCCCCCC');
	alert('click');
}



Поведение похоже на ошибку в строке с присвоением класса.
Другим элементам страницы так же пробовал вешать класс, и так же без результата.
Может в обработчике этого события дело, но как проверить?

Вообще большое спасибо всем ребятам!
...
Рейтинг: 0 / 0
18.02.2016, 09:10
    #39173758
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Вызов ф-ии. 3 способа...
Danis-InfПоведение похоже на ошибку в строке с присвоением класса.
Может в обработчике этого события дело, но как проверить?
Посмотреть в консоль ошибок...
Как вариант, просто жиКвери не загружен и ты получаешь ошибку.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / [JQuery] Вызов ф-ии. 3 способа... / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]