Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Jguery: Не обрабатывается "клик" в Яндекс-браузере. (https://javascript.ru/forum/jquery/67259-jguery-ne-obrabatyvaetsya-klik-v-yandeks-brauzere.html)

Cер Григорий Первый 06.02.2017 14:21

Jguery: Не обрабатывается "клик" в Яндекс-браузере.
 
Здравствуйте, уважаемые форумчане. Кратко опишу свою проблему. У меня есть код, который срабатывает при клике, он еще не "завершен"(позже сделаю его более универсальным), но он не работает в Яндекс-браузере(я так понимаю у него тот же движок, что и у Хрома). То есть при клике, ничего не происходит. Но он отлично работает в Mozilla Firefox и Internet Explorer.
$(document).ready(function(){
$('#getContent').on('click',function(){
$.ajax({
url: "/page2.php",
cache: false,
beforeSend: function() {$('#divWait').css('display','');},
success: function(data){
	$('#divWait').css('display','none');
	$('#divContent').append(data);
	$('#ajaxels').append($('#divContent').html());
	$('#divContent').html('');}
});
return false;
});
});

С чем это может быть связано? Что посоветуете сделать?

ksa 06.02.2017 16:09

Цитата:

Сообщение от Cер Григорий Первый
То есть при клике, ничего не происходит.

Значит тебе нужно потестить свой код т.с. "по шагам"...

$(document).ready(function(){
	$('#getContent').on('click',function(){
		alert(1);
		$.ajax({
		url: "/page2.php",
		cache: false,
		beforeSend: function() {$('#divWait').css('display','');},
		success: function(data){
			alert(2);
			$('#divWait').css('display','none');
			alert(data);
			$('#divContent').append(data);
			$('#ajaxels').append($('#divContent').html());
			$('#divContent').html('');}
			alert(3);
		});
		return false;
	});
});

laimas 06.02.2017 16:39

Цитата:

Сообщение от Cер Григорий Первый
$('#divContent').append(data);
$('#ajaxels').append($('#divContent').html());
$('#divContent').html('');

И зачем такие сложности?

Cер Григорий Первый 06.02.2017 20:31

В самом Хроме работает. А в Яндекс-браузере нет. Я мог бы понять проблемы с CSS, но с JS проблема непонятная. На сайте полно JS кода, все остальное работает.

Cер Григорий Первый 06.02.2017 20:34

Такая сложность с кодом только для того, чтобы не менять структуру HTML (сайт делаю на фреймворке Laravel), есть и другие JS-коды среди которых важна структура сайта, для динамического добавления контента со стороны пользователя(без перезагрузки).

Cер Григорий Первый 06.02.2017 20:52

Тесты провел в разных браузерах, и "алерт" нигде не вызывается. В итоге скрипт полностью не работает, только в Хроме продолжает работать игнорируя "алерт". Инспектор не показывает ошибок в JS на страничке, а сам "алерт" в Мозилле работает, если запустить его из встроенного редактора js.

laimas 06.02.2017 21:12

Цитата:

Сообщение от Cер Григорий Первый
Такая сложность с кодом только для того, чтобы не менять структуру HTML

А причем тут это? Вот действия, в словах, которые производятся этим фрагментом кода не понятно для чего:

1) строка 09 - поместить в объект А ответ сервера
2) строка 10 - поместить в объект Б содержание объекта А
3) строка 11 - очистить содержание объекта А

почему не:

$('#ajaxels').append($('#divContent').html()+data);


и все?

Cер Григорий Первый 06.02.2017 21:13

поменял также getContent с "div" на "a". Но результаты те же. Хотя Яндекс в этом скрипте не отключает стандартные событие и пытается сделать переход...
$(document).ready(function(){
$('#getContent').on('click',function(e){
e.preventDefault();
$.ajax({
url: "/page2.php",

Cер Григорий Первый 06.02.2017 21:19

Я вас понял, но нельзя сразу поместить ответ сервера в объект Б. Я не силен в AJAXе, но ответ могу поместить только в "div" а мне нужно помещать в "ol". Поэтому сначала принимаю в "div", а потом добавляю в "ol". в противном случает, мне добавляет ненужные "divы" в "ol". Или переносит сразу "div" в "ol".

Cер Григорий Первый 06.02.2017 21:22

Ваш вариант проверил, и он не работает.


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