Как передать переменную в функцию с помощью 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" явно делает нето, что нужно, подскажите пожалуйста как быть. |
Метод bind принимает Function в качестве обработчика (ну кажется, в jQuery можно передать еще Boolean равносильно возвращаемому значению, может еще чего, не знаю, но не суть), а вы передали ему значение вашего обработчика
$(document).ready(function(){ $(".img").click(function () { openImg(this.attr("wigth")); }); }); |
Спасибо!!! Я и не знал что он под "this" разные вещи понимает! Кстати, в рабочем варианте функция "attr" ненужна т.к. в нём под "this" подставляется "ImageElement". Т.е. можно просто "this.width".
|
он (кто?) под this всегда конкретные вещи понимает, вы вместо того чтобы передать функцию методу, передали ему значение функции, вызвали ее
|
Часовой пояс GMT +3, время: 18:54. |