我在写一个表单验证脚本,并希望在onblur事件触发时验证给定的字段。我也想使用事件冒泡,所以我不必为每个表单字段添加一个onblur事件。不幸的是,onblur事件不会冒泡。只是想知道是否有人知道可以产生相同效果的优雅解决方案。事件冒泡和onblur事件
3
A
回答
2
PPK内时有这样的技术,其中包括必要的变通办法IE:http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html
-2
8
你会需要使用符合标准的浏览器事件捕获(相对于鼓泡)和focusout
为IE:
if (myForm.addEventListener) {
// Standards browsers can use event Capturing. NOTE: capturing
// is triggered by virtue of setting the last parameter to true
myForm.addEventListener('blur', validationFunction, true);
}
else {
// IE can use its proprietary focusout event, which
// bubbles in the way you wish blur to:
myForm.onfocusout = validationFunction;
}
// And of course detect the element that blurred in your handler:
function validationFunction(e) {
var target = e ? e.target : window.event.srcElement;
// ...
}
为瑞见http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html CY详情
2
使用 '事件的内容' 事件,因为它有泡沫了effect..thanks。
0
使用具有onblur
事件冒泡,然后你可以使用的addEventListener()和将useCapture参数设置为假。就像这样:
yourFormInput.addEventListener('blur', yourFunction, false);
的Firefox 51及以下不支持onfocusout
事件。因此,请勿使用onfocusout
而不是onblur
事件。
相关问题
- 1. 冒泡事件。
- 2. jQuery和事件冒泡... AGAIN
- 3. 事件不冒泡
- 4. Winforms冒泡事件
- 5. JavaScript事件冒泡
- 6. 事件冒泡事件代表团
- 7. 事件捕获vs事件冒泡
- 8. LongListSelector - 点击事件冒泡SelectionChanged事件
- 9. jquery datepicker冒泡的事件
- 10. jQuery的事件冒泡
- 11. 事件冒泡奇怪
- 12. Jquery冒泡点击事件
- 13. MouseDoubleClick事件不会冒泡
- 14. C#冒泡/传递事件
- 15. 冒泡事件设计
- 16. 的Javascript事件不冒泡
- 17. jquery点击事件冒泡
- 18. Raphael.JS,防止事件冒泡
- 19. 停止href事件冒泡
- 20. 事件冒泡和“这个”古怪
- 21. Onmouseover子div问题和事件冒泡
- 22. WPF与MVVM和Prismv2 - 事件冒泡?
- 23. JavaScript脱离对象事件和事件冒泡
- 24. 事件冒泡和事件捕获的用途是什么?
- 25. 在javascript中单击事件冒泡或失败冒泡
- 26. JavaScript事件冒泡工作不正常
- 27. 使用querySelector冒泡的事件
- 28. 在IE浏览器冒泡事件
- 29. ASP.Net用户控制事件冒泡(C#)
- 30. 如何让PropertyChanged事件冒泡?
每个表单字段都有不同的验证函数,或者它对于所有字段都是相同的? – Peter 2009-10-06 13:54:54
他们都使用相同的回调函数。回调函数在html元素上查找某些类,告诉它如何验证(如“required”或“integer”) – spudly 2009-10-06 14:02:13