我正在处理某个页面,我想使用HTML 5 setCustomValidity
。测试浏览器是否支持它很容易:
var inpt = document.getElementsByTagName("input")[0]; // etc.
if(typeof(inpt.setCustomValidity) != 'function')
// workaround here
但我不确定是否有任何合理的方法可以解决这个问题。当然,在这种情况下我可以编写一个setCustomValidity函数,但它不会有上下文(对吗?)来处理事件。除非我有函数用自己的名字来调用它?
如果有一个处理这个(Modernizr等)的库会很棒。如果有一个好的解决方法,我会很乐意使用它。
我心中有一些丑陋的黑客,但如果可能的话,我宁愿以正确的方式做到这一点,无论可能是什么。
答案 0 :(得分:3)
如果你不介意使用jQuery,这可能就是你要找的东西: http://afarkas.github.com/webshim/demos/index.html
在不支持它们的浏览器中进行表单验证的后备: http://afarkas.github.com/webshim/demos/demos/webforms.html
答案 1 :(得分:1)
我听说过有关Modernizr的好东西,并且基于它收到的关注,我肯定会试一试。