源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Js获取事件对象代码

  • 时间:2021-02-11 02:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Js获取事件对象代码
一般做法:
[u]复制代码[/u] 代码如下:
<input type="button" id="test" value="点我测试" /> <script type="text/javascript"> var testBtn = document.getElementById('test'); testBtn.onclick = testFun; function testFun(e) { var evt = e || window.event; alert(evt); } </script>
或者:
[u]复制代码[/u] 代码如下:
<input type="button" id="test" value="点我测试" /> <script type="text/javascript"> var testBtn = document.getElementById('test'); if(window.addEventListener) { testBtn.addEventListener('click', testFun, false); } else if(window.attachEvent) { testBtn.attachEvent('onclick', testFun); } function testFun(e) { var evt = e || window.event; alert(evt); } </script>
返回的值都是 “[object Event]“。 但如果是这种方式呢?
[u]复制代码[/u] 代码如下:
<input type="button" id="test_1" value="点我测试" onclick="testFun_1()" /> <script type="text/javascript"> function testFun_1() { //此处如何获得? } </script>
“内事不决问百度,外事不决问谷歌”, 此言不虚。搜索了下,答案还真不少,不过大多数雷同(可能是巧合)。 http://www.1sucai.cn/article/19408.htm http://www.cnblogs.com/cuixiping/archive/2008/04/13/1150847.html 愚公 的这个文章(貌似转帖)还是颇有见解的。
[u]复制代码[/u] 代码如下:
<input type="button" id="test_1" value="点我测试" onclick="testFun_1()" /> <script type="text/javascript"> function testFun_1() { var evt = getEvent(); alert(evt); } function getEvent(){ if(window.event) return window.event; //这里用对象检测更为妥当 func=getEvent.caller; while(func!=null){ var arg0=func.arguments[0]; if(arg0){ if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){ return arg0; } } func=func.caller; } return null; } </script>
一般来说,很少用到这种嵌入式的写法(js写在html标签中 onclick="testFun_1()"),也不推荐使用这种方法,会造成维护和开发的麻烦。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部