с использованием любого события, такие как mouseenter
или click
на элементе не будет работать с элементами, нагруженными infinitescroll
, jquery.load
или jquery.ajax
.событие не работает на загруженных элементов
Я не понимаю, почему. Я понимаю, что функции должны быть вызваны, но событие click должно по-прежнему работать, потому что загруженные элементы имеют одинаковые классы и такие, но они этого не делают!
Не только событие не будет работать, но если я вспомню его после загрузки новых элементов, уже загруженные элементы теперь накопили два события, так что если вы сделаете что-то вроде $('.class').toggleClass('.anotherclass')
, оно добавит и удалит класс, потому что теперь на нем есть два события, а не только один.
Почему это происходит? и как я могу получить событие, которое не будет таким образом накапливаться?
надеюсь, что я был ясен, спасибо!
Некоторые ребята называли это «делегированием», я называю это одним и тем же ...;) Делегировать событие в ближайший статический элемент. Проверьте документацию jQuery .on(): http://api.jquery.com/on/#direct-and-delegated-events –