具体而言,测试input[type=date]
是否触发input
事件?如何测试浏览器对事件的支持
回答
通过查看this网站,我建议你尝试
试验B:使用的setAttribute上的输入设置的oninput并检查到 看看node.oninput是否是一个函数 测试C:使用w3事件API创建一个输入并假冒按键 ,看是否oninput从测试C类火灾
这里是JavaScript
function testC(){
var input = document.createElement('input'),
e = document.createEvent("KeyboardEvent");
// set type for DATE
input.setAttribute('type', 'date');
e.initKeyEvent("keypress", true, true, window, false, false, false, false, 0, "e".charCodeAt(0));
// use initKeyboardEvent for webkit
document.body.appendChild(input);
input.addEventListener("input", function(e) { alert('C Successful'); e.preventDefault(); e.stopPropagation(); }, false);
input.focus();
input.dispatchEvent(e);
document.body.removeChild(input);
}
编辑:测试代码是从the test page复制,只有一对夫妇的微小变化(VAR的位置,类型=日期,提醒)。我刚刚在Chrome中运行它(在更改initKeyEvent
到initKeyboardEvent
之后),但它不会产生任何结果,但是注释掉removeChild
行并手动执行确实会导致导致成功消息。不知道为什么模拟的事件没有调用它,所以你需要在你的代码中应用它之前查看它。
你可以这样做:
var element = document.getElementById('myElement');
var supported = 'oninput' in element;
很好。我认为这是类似的东西,但没有意识到你需要'on'前缀 – wheresrhys
这不会检查它实际上是火灾。 –
除非我误解您的评论,否则不会触发该事件。 http://jsfiddle.net/hMTV8/ – Gabe
- 1. 如何测试浏览器对Background-clip:text的支持?
- 2. 检测浏览器对RFC5987的支持
- 3. 检测浏览器对SVGFragmentIdentifier的支持
- 4. SWT测试是否支持浏览器
- 5. 如何检测浏览器是否支持gesturestart事件?
- 6. 如何检查浏览器对功能/事件的支持?
- 7. 如何检测浏览器支持requestFullscreen
- 8. 如何检测浏览器是否支持webkit浏览器?
- 9. 您可以测试浏览器对-moz-linear-gradient的支持吗?
- 10. 使用Modernizr测试浏览器对css calc的支持()
- 11. 如何检测浏览器对pageShow和pageHide的支持?
- 12. 如何测试浏览器是否支持剪贴板数据
- 13. 检测浏览器/设备是否支持双击事件
- 14. 浏览器支持popstate事件中的状态对象吗?
- 15. 测试浏览器是否支持多个文件上传?
- 16. 浏览器支持
- 17. 如果浏览器支持
- 18. 测试,如果浏览器支持“乘”为globalCompositeOperation帆布财产
- 19. 检测浏览器与Modernizr支持css3
- 20. 检测SSL浏览器支持
- 21. CSS检测浏览器支持javascript
- 22. 为jQuery Mobile支持检测浏览器
- 23. 检测浏览器是否支持jQueryMobile
- 24. 检测浏览器是否支持vbscript?
- 25. 检测短信:浏览器支持浏览器
- 26. 浏览器支持WebDriver还是WebDriver支持浏览器
- 27. 浏览器对eTags的支持
- 28. 对JavaScript版本的浏览器支持
- 29. 对角材料的浏览器支持
- 30. 浏览器对PNG的支持
嗯,所以它看起来比只检查元素中的'oninput'更复杂 – McGarnagle
''oninput'元素'不会检查设置'oninput'是否会实际执行任何操作。 –
@PaulS做任何浏览器有一个'oninput'这不会做任何事情? *编辑*我阅读文章,看到Firefox是罪魁祸首。但是因为我所支持的项目只支持webkit,所以在这种情况下我可以简单地使用存在测试 – wheresrhys