Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2017, 18:19
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

JS нажатие ctrl+click
Доброе время суток. Подскажите JS код, при котором будут нажаты (ctrl + click) данные 4 ячейки со ссылками одновременно. Должны быть открыты новые вкладки.

<tr role="row" id="0" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Гугл" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://google.com" target="blank">Гугл</a></td></tr>
<tr role="row" id="1" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Маил" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://mail.ru" target="blank">Маил</a></td></tr>
<tr role="row" id="2" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Яндекс" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://yandex.ru" target="blank">Яндекс</a></td></tr>
<tr role="row" id="3" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Рамблер" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://www.rambler.ru/" target="blank">Рамблер</a></td></tr>
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2017, 18:37
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Жмите Ctrl и кликайте
<table>
<tr role="row" id="0" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Гугл" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://google.com" target="blank">Гугл</a></td></tr>
<tr role="row" id="1" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Маил" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://mail.ru" target="blank">Маил</a></td></tr>
<tr role="row" id="2" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Яндекс" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://yandex.ru" target="blank">Яндекс</a></td></tr>
<tr role="row" id="3" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Рамблер" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://www.rambler.ru/" target="blank">Рамблер</a></td></tr></table>
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2017, 18:50
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Что-то вроде этого?

window.onload = function(){
			var arr = document.querySelectorAll('.jqgrow');
			for(var i = 0; i < arr.length; i++){
				arr[i].addEventListener('click', myFunc);
			}
		}

		function myFunc(e) {
			if (e.ctrlKey) {
				window.open('https://google.com');
				window.open('https://mail.ru');
				window.open('https://yandex.ru');
				window.open('https://www.rambler.ru/');
			};
		}
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2017, 18:55
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

Сообщение от void() Посмотреть сообщение
Что-то вроде этого?

window.onload = function(){
			var arr = document.querySelectorAll('.jqgrow');
			for(var i = 0; i < arr.length; i++){
				arr[i].addEventListener('click', myFunc);
			}
		}

		function myFunc(e) {
			if (e.ctrlKey) {
				window.open('https://google.com');
				window.open('https://mail.ru');
				window.open('https://yandex.ru');
				window.open('https://www.rambler.ru/');
			};
		}
Нет, я хотел использовать типа

$(document).ready(function(){
		 window.setTimeout(function ()
		{
			$('td:contains("Гугл")').find('a')[0].click();
		},1000)
		window.setTimeout(function ()
		{
			$('td:contains("Майл")').find('a')[0].click();
		},1000)
		window.setTimeout(function ()
		{
			$('td:contains("Яндекс")').find('a')[0].click();
		},1000)
		window.setTimeout(function ()
		{
			$('td:contains("Рамблер")').find('a')[0].click();
		},1000)
	});

Но только не могу эмитировать ctrl+click.
Ответить с цитированием
  #5 (permalink)  
Старый 28.11.2017, 21:00
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

Подскажите пожалуйста куда копать. Не получается открыть последовательно вкладки, открывается 1 страница. Можно даже без CTRL.
Ответить с цитированием
  #6 (permalink)  
Старый 28.11.2017, 21:26
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Не получится. Браузер блокирует всплывающие окна, если они открываются без действия пользователя.
Ответить с цитированием
  #7 (permalink)  
Старый 29.11.2017, 06:05
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

По умолчанию да, но в настройках браузера это можно разрешить. По факту происходит имитация нажатия на ячейку со ссылкой, как я понимаю как будто сам пользователь это делает.
Ответить с цитированием
  #8 (permalink)  
Старый 02.12.2017, 18:22
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

Не получилось открывать новые вкладки с помощью ctrl + click. Сделал костыль: закрывает текущую вкладку, открывает ссылки из списка и последним открывает изначальную страницу. Вдруг кому-то пригодится.
function openLinkList(linkList) {
  for(var i = 0; i < linkList.length; i++) {
    var a = document.createElement("a");
    a.href = linkList[i];
    a.target="_blank"
    a.click();
  }
};

 
var linkList = [
  "https://google.com", 
  "https://mail.ru", 
  "https://yandex.ru",
  window.location.href
];
 window.close();
openLinkList(linkList);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Click внутри js DarknesS Общие вопросы Javascript 2 13.06.2016 01:12
js стиль render для react.js vflash Ваши сайты и скрипты 5 01.04.2016 22:57
Вакансия JavaScript разработчик / JS / Frontend developer (Санкт-Петербург) Сергей Грачёв Работа 0 21.09.2015 12:31
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Запуск выполнения PHP при нажатие на кнопку??? Abibas220 Общие вопросы Javascript 1 05.01.2011 12:05