为什么要用addEventListener方法?
这里为什么不直接绑定click时间,然后增加一个匿名函数?
var addSessionStorageBtn = document.getElementById("addSessionStorageBtn");
addSessionStorageBtn.addEventListener("click", function() {
window.sessionStorage.setItem("site", "http://www.imooc.com");
window.sessionStorage.setItem("name", "慕课网");
content.innerHTML = "SessionStorage写入完成";
});
这个和直接绑定有什么区别,这里有什么好处?
sessionStorage是window的一个属性吗?
content的用法是什么?
正在回答
1. JavaScript三种绑定事件的方式:
1. <div id="btn" onclick="clickone()"></div> //直接在DOM里绑定事件 <script> function clickone(){ alert("hello"); } </script> 2. <div id="btn"></div> <script> document.getElementById("btn").onclick = function(){ alert("hello"); } //脚本里面绑定 </script> 3. <div id="btn"></div> <script> document.getElementById("btn").addeventlistener("click",clickone,false); //通过侦听事件处理相应的函数 function clickone(){ alert("hello"); } </script>
三者的用途:
用 "addeventlistener" 可以绑定多次同一个事件,且都会执行,而在DOM结构如果绑定两个 "onclick" 事件,只会执行第一个;在脚本通过匿名函数的方式绑定的只会执行最后一个事件。
1. <div id="btn" onclick="clickone()" onclick="clicktwo()"></div> <script> function clickone(){ alert("hello"); } //执行这个 function clicktwo(){ alert("world!"); } </script> 2. <div id="btn"></div> <script> document.getElementById("btn").onclick = function(){ alert("hello"); } document.getElementById("btn").onclick = function(){ alert("world"); } //执行这个 </script> 3. <div id="btn"></div> <script> document.getElementById("btn").addeventlistener("click",clickone,false); function clickone(){ alert("hello"); } //先执行 document.getElementById("btn").addeventlistener("click",clicktwo,false); function clicktwo(){ alert("world"); } //后执行 </script>
2. sessionStorage一样都是用来存储客户端临时信息的对象。该对象在支持的浏览器中都是以windows对象属性的形式存在的。
3. 从代码关系来看,content 应该是前面获取的元素吧!
希望对你有帮助,祝学习愉快,欢迎采纳。
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星