Мне нужно вернуть атрибут placeholder обратно в IE8. Я традиционно нашел этот сценарий будет отлично для этого:Привязка скрипта к динамически созданным элементам
https://github.com/parndt/jquery-html5-placeholder-shim/blob/master/jquery.html5-placeholder-shim.js
Однако это не связывается с динамически создаваемые элементы. Поэтому, если новый ввод добавляется на страницу с помощью JS, то заполнитель не будет работать.
Есть ли способ применить этот скрипт к динамически созданным элементам?
Да, глядя на источник дальше, метод прокладки выглядит лучше всего. Он готовит объект конфигурации, который затем передается в $ .fn._placeholder_shim, который, в свою очередь, выполняет все тяжелые операции. Возможно, вы сможете передать метод shim() объект конфигурации, указав селектор, чтобы нацелить только новые элементы, т.е. jQuery.placeholder.shim ({selector: 'input # newElement1'}); – Brian
ничего противного о последней идее ... это было сделано в течение многих лет. Легко добавить класс к тем, которые уже были настроены, и отфильтровать их, используя not() – charlietfl
Nah Я имел в виду вызывать весь плагин повторно, а не только метод, который создает экземпляр. Если он выполняет итерацию по каждому входу на странице и не принимает селектор, тогда вы получите такие вещи, как дубликаты обработчиков событий и другие беспорядки, примените его к динамическому генерированию большого количества входов, тогда вы сможете быстро достичь производительности вопросы. В тот момент, когда я написал, что я не заметил метод «shim» только метода jQuery.fn._placeholder_shim, который не работает, если вы вызываете его через $ ('selector') ._ placeholder-shim(), поскольку для этого требуется config. – Brian