IE(含IE6、IE7)下用程序触发鼠标点击事件显得很飘逸,一句代码而已,但它的不守规矩着实让我郁闷了一把。而FireFox则是遵循模型办事,代码多了几行不过清晰了很多。废话不多说,因为代码会说话:)。
<html> <head><title>Dispatch Event Sample</title> <script> function clickABC(el){ if (navigator.appVersion.match(/\bMSIE\b/)){ el.click(); }else{ var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, true); el.dispatchEvent(evt); } } </script> </head> <body> <div id="abc" onclick="javascript:alert('you are clicked Crespo Shi!');">I'm Crespo Shi</div> <input type="button" onclick="javascript:clickABC(document.getElementById('abc'))" value="Dispatch Event"/> </body> </html>
很多同学因为各种浏览器兼容的问题而觉得浏览器编程或者说JavaScript编程是一件很痛苦的事情,其实当你熟悉了常见的不兼容和利用了良好的JavaScript Lib你会发现也不是想象中那么郁闷,浏览器编程绝对是一件很享受的事情。