on
метод принимает второй аргумент в качестве селектора, по которому должно инициироваться событие, которое вы пропустили.Также корневым элементом должен быть контейнер, который будет содержать динамические элементы.В вашем случае это #dynamicArea
.Попробуйте это.
$("#dynamicArea").on("click", ".tile-action", function(event){
var linkalt = $(this).attr("alt");
var linkrel = $(this).attr("rel");
alert(linkalt + " " + linkrel);
return false;
});
Вы должны понимать работу on
.Мы выбираем элемент #dynamicArea
и используем для него метод on
, передавая селектор .tile-action
.jQuery будет прикреплять событие click к #dynamicArea
, и всякий раз, когда любой элемент щелкается внутри #dynamicArea
, событие переходит в #dynamicArea
.В этот момент он попытается увидеть, совпадает ли селектор, который мы передали в качестве второго параметра on
, или нет.Если он совпадает, то он запускает событие, иначе он не будет ничего делать, просто запустит событие, если мы не остановим его.