Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Как передать параметры в функцию

#jquery


Допустим есть функция

$(document).ready(function(){
    $('.myclass').click(function(){
    }
   });

которая вешается на блоки, скажем, с информацией по товару.
Как в эту функцию передать параметр, например код товара? Раньше на чистом js прописывал
в каждый блок событие onmouseclick="" и из php подставлял нужный параметр.    


Ответы

Ответ 1



Можно назначать параметр как атрибут элемента, например data-parameter
contents
и затем в jquery читать его: $(document).ready(function(){ $('.myclass').click(function(){ console.log(this.getAttribute("data-parameter")); }); });

Ответ 2



В jQuery когда мы вешаем любое событие на элемент практически очень редко нам приходиться дать параметры в функцию обработчик. Но в jQuery реализовано все это, оно называется .data() Вот простой пример где мы даем data параметры в функцию обработчик клика на элемент. $(document).ready(function(){ $('.test_func').each(function(key, val){ $(val).click(function(event){ console.log($(this).data('param')); }); }); });
test content
test content
В jQuery есть функция .data() и с помощью него мы взяли атрибут тега html который написано так data-param, здесь главное начальное имя атрибута который мы должны написать так data- а остальная часть уже имя которым мы в jQuery взяли значение атрибута.

Комментариев нет:

Отправить комментарий