当前位置: 首页 > news >正文

怎么做帖子网站开发网站

怎么做帖子网站,开发网站,深圳商城软件开发,简单漂亮的logo图片给 DOM 节点绑定事件 推荐使用 addEventListener 函数 第一个参数:事件名称第二个参数:事件处理函数(第一个参数为 event)第三个参数: true 采用捕获法来处理事件false 【推荐】采用冒泡法来处理事件 let div1 docu…

给 DOM 节点绑定事件

推荐使用 addEventListener 函数

  • 第一个参数:事件名称
  • 第二个参数:事件处理函数(第一个参数为 event)
  • 第三个参数:
    • true 采用捕获法来处理事件
    • false 【推荐】采用冒泡法来处理事件
let div1= document.getElementById('div1');
div1.addEventListener('click', function(event){alert('div1_clicked!');
}, false);

event 参数的用途

  • event.target 获取触发事件的元素

  • event.preventDefault() 阻止默认行为

    默认行为如:a标签点击跳转、鼠标右键弹出菜单、滑动滚轮控制滚动条等

  • event.stopPropagation() 阻止事件传播(冒泡/捕获)

事件流(含事件冒泡,事件捕获)

https://blog.csdn.net/weixin_41192489/article/details/133140101

【必考】事件代理

借助其他元素来响应自身事件即事件代理。

应用范例:对于内容很多的列表,为了避免给每一个列表中的元素都绑定一个点击事件,仅在列表的容器元素上绑定点击事件,则当点击列表中的元素时,因事件冒泡机制,会触发容器元素的点击事件,再在该事件中,识别出点击的具体元素,并执行相应的处理。

// 列表内容很多的容器
const div3 = document.getElementById("div3");// 点击列表中a标签的元素时,弹窗显示其内容
div3.addEventListener("click", (event) => {event.preventDefault();let target = event.target;if (target.nodeName === "A") {alert(target.innerHTML);}
});

【考题】写一个通用的事件绑定函数

/*** 通用的事件绑定函数(支持事件代理)* @param {*} elem      触发事件的元素* @param {*} type      事件类型* @param {*} selector  选择器* @param {*} fn        事件处理函数*/
function bindEvent(elem, type, selector, fn) {//若只传入了三个参数(即普通的事件绑定),则第三个参数才是事件处理函数if (fn == null) {// 将第三个参数设置为事件处理函数fn = selector;// 将选择器置空selector = null;}// 绑定事件elem.addEventListener(type, (event) => {// 获取触发事件的元素const target = event.target;if (selector) {// 传入了选择器,则为事件代理绑定if (target.matches(selector)) {// 若触发事件的元素与选择器匹配,则执行事件处理函数fn.call(target, event); // 利用 call 改变事件处理函数中 this 的指向}} else {// 没有选择器,为普通事件绑定fn.call(target, event);}});
}

使用

// 普通事件绑定
const btn1 = document.getElementById('btn1')
bindEvent(btn1, 'click', function (event) {event.preventDefault()alert(this.innerHTML)
})// 事件代理绑定
const div3 = document.getElementById('div3')
bindEvent(div3, 'click', 'a', function (event) {event.preventDefault()alert(this.innerHTML)
})

【考题】描述事件冒泡的流程

事件基于 DOM 树形结构顺着触发元素不断向上传播(由内层节点传播到外层节点),触发各级父辈节点对应的事件,若父辈节点中没有阻断事件的冒泡传播,则会一直传播到window 对象。

应用场景:事件代理(参考上文)

【考题】无限下拉图片列表,如何监听每个图片的点击

通过事件代理实现,具体逻辑如下:

  • 在列表容器上绑定点击事件
  • 点击图片时,会冒泡触发列表容器的点击事件
  • 通过 e.target 获取到触发元素
  • 通过 matches 判断触发元素是否是图片
  • 是图片,则执行相应的代码,不是图片则不执行。
http://www.mmbaike.com/news/26487.html

相关文章:

  • 重庆工程信息网查询优化大师免费版下载
  • 净水器网站模板头条站长平台
  • 深圳高端品牌网站设计天堂网
  • 58网站怎么做才有客户问竞价推广账户托管费用
  • c 网站开发项目长春seo整站优化
  • 05网怎么优化推广自己的网站
  • 网站解决访问量超载泽成seo网站排名
  • 制作视频的网站软件网络软文怎么写
  • 洛阳建站推广哪家靠谱色盲测试图片60张
  • 广州旅游网站建设设计抖音推广运营
  • 用美国服务器做中国盗版网站百度推广业务员电话
  • 网站备案换主体在线生成html网页
  • 房地产市场包括网络优化器免费
  • 阿里云服务器添加网站企业管理培训课程
  • 个体户年报网上申报优化关键词排名seo软件
  • 好便宜建站seo工具软件
  • 天津建设工程信息网询谷歌seo优化
  • 黑龙江企业网站设计团队品牌传播推广方案
  • 沈阳做网站哪家好永久免费不收费的污染app
  • 厦门网站建设公司杭州seo按天计费
  • 网站建设好做吗注册一个网站
  • 企业网站分析案例电商运营工资大概多少
  • wordpress怎么装插件谷歌seo查询
  • 做网站自己申请域名还是对方免费网站统计代码
  • 东莞企业推广网站seo网站平台
  • wordpress清理过期文件夹搜索引擎优化的定义
  • vs2013做网站保存的格式媒体代发网站
  • 金堂做网站的公司注册网站的免费网址
  • dw做的网站放文件夹网站权重划分
  • cdn如何做网站备案哈尔滨网站优化流程