标签:
//1.匿名函数自执行 (function(){ test2(); })(); //原生js 跨浏览器绑定事件 function test2(){ var obj = document.getElementById("button1"); //dom浏览器 if(obj.addEventListener){ obj.addEventListener("click",function(){ console.log("w3c test2"); },false); //ie 9 以下浏览器 }else if(obj.attachEvent){ obj.attachEvent("onclick",function(){ alert("ie 5.0 - 10 test2"); // //console.log("ie 5.0 - 10 test2 "); }) } }
html代码如下
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <!--<script src="js/jQuery/jquery.min.js" type="text/javascript" charset="utf-8"></script>--> <script src="js/index.js" type="text/javascript" charset="utf-8"></script> <title>abson</title> </head> <body> <div> <button id="button1">按钮1</button> </div> </body> </html>
一直报错 选择器选不中button,检查后发现 当加载js时,document没有加载出来,所以选不中。所以修改代码为
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <!--<script src="js/jQuery/jquery.min.js" type="text/javascript" charset="utf-8"></script>--> <title>abson</title> </head> <body> <div> <button id="button1">按钮1</button> </div> </body> <script src="js/index.js" type="text/javascript" charset="utf-8"></script> </html>
解决问题。
另外想到,我们用jQuery的$(function(){}),初始函数则不会出现这种问题。联想到这种写法是$(document).ready(function(){}的简写。可想而知。这个初始函数是jQuery认为document全部加载完后才会加载的方法。
标签:
原文地址:http://www.cnblogs.com/absonAlex/p/5639132.html