Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
![]() |
Что касается web-а... WebMaster-а Воронежа - объединяйтесь! |
![]() |
|
Опции темы
![]() |
![]() |
#1 |
Форумец
Сообщений: 1,076
Регистрация: 27.11.2008
Возраст: 31
![]() |
jQUERY. Клик по экрану..не по элементу. как?
Такой вопрос. на сайте множетство элементов, которые рандомно могут растянуться на весь экран.
Как прописать "клик по области экрана", не зная какой элемент сейчас на переднем плане? Короче имитация тупого клика мышкой куда-нибудь. |
![]() |
![]() |
![]() |
#2 |
Registered User
Сообщений: 3,142
Регистрация: 25.12.2011
Возраст: 37
![]() |
Насколько я понял, click получает параметр eventObject. Поэтому, по идее, можно всем элементам назначить вот такую функцию click( function( eventObject ) { MyClick( eventObject ) } )
а уже в MyClick описать, что делать с элементом. При этом элемент каждый раз будет приходить разный, а действия над ним будут одинаковые. Но я не пробовал так пока делать. Попробуй. http://jquery-docs.ru/Events/click/#toptions А, не. eventObject - это, походу, объект события. А доступ к текущему элементу просто через this работает. Должно получиться. ![]() |
![]() |
![]() |
![]() |
#3 |
Форумец
Сообщений: 292
Регистрация: 21.01.2011
![]() |
Код:
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); |
![]() |
![]() |
![]() |
#4 |
Registered User
Сообщений: 3,142
Регистрация: 25.12.2011
Возраст: 37
![]() |
С помощью 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. |
![]() |
![]() |
![]() |
#5 |
Форумец
Сообщений: 1,076
Регистрация: 27.11.2008
Возраст: 31
![]() |
Эх попробовал - да, это вариант, но опять же - элементов гора. Даже если прописать клик-событие на все, условия то нет - неизвестно по чему клик будет. А все объекты (если не на весь экран в данный момент) имеют свои функции.
Короче === забил, попроще решения поищу. Спасибо. |
![]() |
![]() |
![]() |
#7 |
Registered User
Сообщений: 3,142
Регистрация: 25.12.2011
Возраст: 37
![]() |
AlexanderSergeev, если ты точно скажешь, что хотел, то тебе помогут. Просто ты непонятно объясняешь.
![]() Последний раз редактировалось ProcXel.A; 23.05.2012 в 23:23. |
![]() |
![]() |