[Day10] Hold Shift to Check Multiple Checkboxes

[Day10] Hold Shift to Check Multiple Checkboxes

checkbox 的连续勾选运用

需要用到的技巧与练习目标

  1. mouseEvent.shiftKey / checked
  2. 运用变数设置开关的运用

制作步骤与流程

  1. 绑定所有的 checkbox 设定监听
  2. 判断有 按shift和 已勾选过的 checkbox 执行 checkHandler函式
  3. 建立一个 lastCheck 来记录最後勾选的DOM元素 (要是执行此函式 则 lastCheck 则绑定 this (点击的该元素))
  4. 获取 点击元素(this) 及 最後的点及元素 (lastCheck)後,在建立一个 isBetween 的变数为 false 可以判断是否为两个元素中间的checkbox
  5. 运用 forEach 的方式来叠代 如果是开始 就把 isBetween 的变数更改为 true 若遇到 lastCheck 则将 isBetween 的变数更改为false ( 运用 isBetween 变数来设一个开关)
  6. 如果 isBetween 变数为 true 则将 checkbox 的 checked 改为true

参考文章来源:
https://developer.mozilla.org/zh-CN/docs/Web/API/MouseEvent/shiftKey
https://www.w3schools.com/jsref/prop_checkbox_checked.asp

https://pjchender.dev/js30/js30-day10/


<<:  [GIP] Genero守门员 -简化版单点登入SSO配置与运行 (3.X以後版本提供)

>>:  Day 25-Unit Test 应用於 Async Code-1 (情境及应用-5)

【Day 10】os模组

OS模组(Python内建) 说明 : os模组是一种与作业系统相关的模组,提供数十种与作业系统沟通...

绘制便利贴以及定义模型

从这一章节开始进入实作的部分,我们要达到的目标是: 可以显示多张便利贴、而且用手势来移动他们 针对这...

NNI安装後的验证03

这回,我们将焦点放在WebUI的trials detail中的Hyper-parameter。 请在...

DAY 17 取得资料库资料并将含LINE emoji的讯息传出

小弟自开学後白天上课晚上上班,每天时间不多,进度比较缓慢,请多见谅 上篇将资料存至资料库,这篇要将资...

D16 文件创建页 Create doc

先做了一个简易的文件创建页面 doc_info/views.py 设定成用get载入http://1...