Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Вызвать событие hover для элемента на мобильниках (https://javascript.ru/forum/jquery/65421-vyzvat-sobytie-hover-dlya-ehlementa-na-mobilnikakh.html)

BoJITyH 17.10.2016 21:22

Вызвать событие hover для элемента на мобильниках
 
День добрый. Есть элемент, код которого подгружается по клику, после чего элемент получает стиль css:hover.
Так вот, на мобильниках, чтобы получить текст по css:hover приходится кликать дважды (подгрузка html() + вызов самого hover).
Как это можно сделать в один клик?

Уже что только не перепробовал - .mouseenter(), .click(),.hover() и тд. Они все работаю, но ПОСЛЕ загрузки, то есть по второму клику, даже если вызывать их в самом аяксе.

Так это выглядит
$('[num_id=show_opishanie]').on('click', show_opisanie_preparata);
function show_opisanie_preparata(){
		var num_zalobi = $(this).attr('num_zalobi');
		var prep_num = $(this).attr('prep_num');
		if(num_zalobi!="" && prep_num !=""){
		var url = "data.php?"+prep_num;
			url = encodeURI(url);			
			$.ajax({
					type: 'POST',
					async: false,
					url: url,
					success: function(data) {	
						if(data =="Вы отключены"){
							location.reload();
						}												                                                                    else{							
							var zapros  = "[prep_num="+prep_num+"]";							
							var data = "<span class='tooltip'>Читать<span class='custom classic'>"+get_prep_ru_name(prep_num)+data+"</span></span>";

							$(zapros).html(data);			
													
						}
					},
					error: function(xhr, status){//ошибка	
						alert ("Ошибка потеряна связь с сервером");						
					},
					cache: false	
			});	
		}
		return false;
	}


Как в этой функции сразу после $(zapros).html(data) вызвать событие css:hover залитого элемента (это рукотворный титл, вызываемый через css:hover), чтобы показать саму залитую менюшку.

Сразу скажу, что сделать титл залитым сразу сделать нельзя, не пройдем по скорости (данных очень много).

BoJITyH 18.10.2016 08:20

Наведение на элемент раскрывает менюшку, которая была скрыта margin-left.

element {margin-left:-9999;} element:hover {margin-left:1em;}

Вот так примерно. Сложность в том, как её раскрыть(вызвать этот :hover) на мобильном с помощью jq.

BoJITyH 18.10.2016 12:18

Проблема не в этом. css код и так есть. Нужно его активировать с помощью jq, что бы эта менюшка раскрылась. По-сути, требуется имитировать событие mouseenter на мобильниках, при этом не вызвав зацикливание функции.
Ну или каким другим образом её раскрыть, не подменяя css кода.


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