我目前正在使用以下库:
http://widgetulous.com/placeholderjs/
并使用以下代码来检测使用的必要性/并将其应用于需要它的字段:
if navigator.userAgent.indexOf("MSIE")!= -1 or navigator.userAgent.indexOf("Trident")!= -1
$ ->
Placeholder.init()
numPlaceHolders = $('input[placeholder]').length
window.setInterval(=>
if ($('input[placeholder]').length != numPlaceHolders)
numPlaceHolders = $('input[placeholder]').length
Placeholder.init()
, 1000)
有 Interval 的原因是元素是在运行时动态生成的(我使用 Angular JS)。不幸的是,ie支持是必须的,并且占位符属性不受支持......
所以我不得不提问:
1)如何强制 Placeholder.init() 应用于所有具有 placeholder 属性的新输入字段?有什么办法可以避免连续循环间隔?我知道 DomChange 事件(各种),但据我所知,它们在 ie 中是 a) 已弃用和 b) 不受支持?
2)有没有更好的方法来检查浏览器的兼容性,然后像我正在做的那样明确要求ie?