我需要将占位符属性支持回IE8。传统上,我发现这个脚本非常适合这样做:
https://github.com/parndt/jquery-html5-placeholder-shim/blob/master/jquery.html5-placeholder-shim.js
但是,它不绑定到动态创建的元素。因此,如果向带有JS的页面添加新输入,则占位符将不起作用。
有没有办法将这个脚本应用于动态创建的元素?
发布于 2016-10-06 09:20:21
基本上就是..No。
与大多数插件(严格意义上不是基于事件的插件)一样,您需要在创建新元素后为其初始化插件。
在现代浏览器中,你可以使用像MutationObservers这样的东西,但是你需要这个插件的原因是为了支持旧的浏览器,所以这个概念不能工作
发布于 2016-10-06 09:30:45
调用jQuery.placeholder.shim();行吗?这是在ready/load上调用的方法,因此可以完成此任务。
如果它不能,那么你可能不能,至少不能直接使用当前形式的特定插件。你可以修改源代码来处理它。
它们是否在页面加载时动态生成?您可以简单地将插件的加载推迟到这些元素生成之后吗?
我唯一能想到的是,你能不能把这个插件包装在一个函数中,并在生成每个输入后调用它?这可能会有意想不到的副作用,但可能是一个廉价而令人讨厌的替代方案。
https://stackoverflow.com/questions/39886031
复制相似问题