Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2012, 08:46
Новичок на форуме
Отправить личное сообщение для Иван Я Посмотреть профиль Найти все сообщения от Иван Я
 
Регистрация: 20.01.2012
Сообщений: 2

Как передать переменную в функцию с помощью JQuery???
Здравствуйте, у меня такая проблема, я на Jquery выделяю класс картинок и при клике на каждую из них должна выполниться функция, в которую мне нужно передать данные.

К примеру:
В HTML есть класс:
<img src="/img/1.jpg" width ="400" class ="img"/>
<img src="/img/2.jpg" width ="400" class ="img"/>
<img src="/img/3.jpg" width ="400" class ="img"/>
<img src="/img/4.jpg" width ="400" class ="img"/>


В JS функция:
function openImg(w){
    alert(w);
}


А вызываться она должна вот так (подругому никак нельзя):
$(document).ready(function(){
    $(".img").click(openImg(this.attr("wigth")));
});

На этом этапе я хочу передать в функцию параметры той картинки, которая запустила событие клика в данный момент. Но элемент "this" явно делает нето, что нужно, подскажите пожалуйста как быть.
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2012, 08:53
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Метод bind принимает Function в качестве обработчика (ну кажется, в jQuery можно передать еще Boolean равносильно возвращаемому значению, может еще чего, не знаю, но не суть), а вы передали ему значение вашего обработчика
$(document).ready(function(){
	$(".img").click(function () {
		openImg(this.attr("wigth"));
	});
});
__________________
readOnly

Последний раз редактировалось poorking, 20.01.2012 в 08:55.
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2012, 09:08
Новичок на форуме
Отправить личное сообщение для Иван Я Посмотреть профиль Найти все сообщения от Иван Я
 
Регистрация: 20.01.2012
Сообщений: 2

Спасибо!!! Я и не знал что он под "this" разные вещи понимает! Кстати, в рабочем варианте функция "attr" ненужна т.к. в нём под "this" подставляется "ImageElement". Т.е. можно просто "this.width".
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2012, 09:21
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

он (кто?) под this всегда конкретные вещи понимает, вы вместо того чтобы передать функцию методу, передали ему значение функции, вызвали ее
__________________
readOnly
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать referrer в iframe через jQuery? Zippa jQuery 1 25.06.2011 13:39
запомнить переменную js в одном файле и использовать в другом. как? skalka Общие вопросы Javascript 2 28.09.2010 07:19
$.ajax-как передать переменную в данных Dimaz jQuery 1 15.02.2010 15:00
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 11:58
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 01:11