Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » » Веб-дизайн
Что касается web-а... WebMaster-а Воронежа - объединяйтесь!

Ответ
 
Опции темы
Старый 23.05.2012, 17:13   #1   
Форумец
 
Аватар для AlexanderSergeev
 
Сообщений: 1,076
Регистрация: 27.11.2008
Возраст: 30

AlexanderSergeev вне форума Не в сети
jQUERY. Клик по экрану..не по элементу. как?

Такой вопрос. на сайте множетство элементов, которые рандомно могут растянуться на весь экран.

Как прописать "клик по области экрана", не зная какой элемент сейчас на переднем плане? Короче имитация тупого клика мышкой куда-нибудь.
  Ответить с цитированием
Старый 23.05.2012, 17:40   #2   
Registered User
 
Аватар для ProcXel.A
 
Сообщений: 3,165
Регистрация: 25.12.2011
Возраст: 36

ProcXel.A вне форума Не в сети
Насколько я понял, click получает параметр eventObject. Поэтому, по идее, можно всем элементам назначить вот такую функцию click( function( eventObject ) { MyClick( eventObject ) } )

а уже в MyClick описать, что делать с элементом. При этом элемент каждый раз будет приходить разный, а действия над ним будут одинаковые. Но я не пробовал так пока делать. Попробуй.

http://jquery-docs.ru/Events/click/#toptions

А, не. eventObject - это, походу, объект события. А доступ к текущему элементу просто через this работает. Должно получиться.
  Ответить с цитированием
Старый 23.05.2012, 18:32   #3   
Форумец
 
Сообщений: 292
Регистрация: 21.01.2011

sape вне форума Не в сети
Код:
window.onclick = function(e){
    e.target // тот конкретный элемент, по которому ты кликнул
}
А сымитировать тебе надо...
нужен метод
Код:
event.initMouseEvent(type, canBubble, cancelable, view, 
                      detail, screenX, screenY, clientX, clientY, 
                      ctrlKey, altKey, shiftKey, metaKey, 
                      button, relatedTarget);
как-то так что ли например
Код:
var evt = document.createEvent("MouseEvents");
   evt.initMouseEvent("click", true, true, window,
     0, 0, 0, 0, 0, false, false, false, false, 0, null);
  Ответить с цитированием
Старый 23.05.2012, 19:47   #4   
Registered User
 
Аватар для ProcXel.A
 
Сообщений: 3,165
Регистрация: 25.12.2011
Возраст: 36

ProcXel.A вне форума Не в сети
С помощью jQuery это будет примерно так:
Код:
<body>
    <img name="scale_img" width="100" height="100" src="image/list/bolt.jpg" />
    <img name="scale_img" width="100" height="100" src="image/list/gaika.jpg" />
    <img name="scale_img" width="100" height="100" src="image/list/shurup.jpg" />
</body>
Код:
var current_click_elem = null
var current_zoom_elem = null
var anim_elems = []
var speed = 1000

$( document ).ready( function() {
	SetClicks()
} )

function SetClicks() {
	$( 'img' ).each( function () {
		if( this.name == 'scale_img' ) {
			anim_elems.push( this ) 
			$( this ).click( function() {
				current_click_elem = this
				$.each( anim_elems, function() {
					if( this == current_click_elem ) {
						if ( current_zoom_elem == this ) {
							$( this ).animate( { width: '100', height: '100' }, speed )
						}
						else {
							$( this ).animate( { width: '50%', height: '50%' }, speed )
							current_zoom_elem = this
						}
					}
					else {
						$( this ).animate( { width: '100', height: '100' }, speed )
					}
				} )
			} )
		}
	} )
}

Последний раз редактировалось ProcXel.A; 23.05.2012 в 20:19.
  Ответить с цитированием
Старый 23.05.2012, 21:30   #5   
Форумец
 
Аватар для AlexanderSergeev
 
Сообщений: 1,076
Регистрация: 27.11.2008
Возраст: 30

AlexanderSergeev вне форума Не в сети
Эх попробовал - да, это вариант, но опять же - элементов гора. Даже если прописать клик-событие на все, условия то нет - неизвестно по чему клик будет. А все объекты (если не на весь экран в данный момент) имеют свои функции.
Короче === забил, попроще решения поищу.
Спасибо.
  Ответить с цитированием
Старый 23.05.2012, 22:08   #6   
highly mean
 
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35

silly вне форума Не в сети
Так что здесь нужно? Имитировать событие или навесить обработчик?
  Ответить с цитированием
Старый 23.05.2012, 22:24   #7   
Registered User
 
Аватар для ProcXel.A
 
Сообщений: 3,165
Регистрация: 25.12.2011
Возраст: 36

ProcXel.A вне форума Не в сети
AlexanderSergeev, если ты точно скажешь, что хотел, то тебе помогут. Просто ты непонятно объясняешь.
Цитата:
Сообщение от AlexanderSergeev Посмотреть сообщение
неизвестно по чему клик будет
current_click_elem - это и есть тот элемент, по которому кликнули.

Последний раз редактировалось ProcXel.A; 23.05.2012 в 23:23.
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind