首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

键码(keyCode)对照表,js通过判断点击键码的可以做出相应控制

通过了解各个按键的键码可以更好的在工作中使用javascript去实现这些功能,比较常用的是F12、ctrl+c 和 ctrl+v 等按键的键码通过处理这些键码可以达到禁用复制粘贴等功能的效果...实际应用中,也可以判断左右箭头实现文章上下篇的切换等实用功能 字母和数字键的键码(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66...87 5 53 F 70 O 79 X 88 6 54 G 71 P 80 Y 89 7 55 H 72 Q 81 Z 90 8 56 I 73 R 82 0 48 9 57 数字键盘上的键的键码(...96 8 104 1 97 9 105 2 98 * 106 3 99 + 107 4 100 Enter 108 5 101 - 109 6 102 . 110 7 103 / 111 功能键键码(...按键 键码 F1 112 F7 118 F2 113 F8 119 F3 114 F9 120 F4 115 F10 121 F5 116 F11 122 F6 117 F12 123 控制键键码(

3.1K50

哈希表:可以数组当哈希表来用,但哈希不要太大!

「说明:」你可以假设字符串只包含小写字母。 思路 先看暴力的解法,两层for循环,同时还要记录字符是否重复出现,很明显时间复杂度是 O(n^2)。...「数组其实就是一个简单哈希表」,而且这道题目中字符串只有小写字符,那么就可以定义一个数组,来记录字符串s里字符出现的次数。...需要定义一个多大的数组呢,定一个数组叫做record,大小为26 就可以了,初始化为0,因为字符a到字符z的ASCII也是26个连续的数值。...再遍历字符串s的时候,「只需要将 s[i] - ‘a’ 所在的元素做+1 操作即可,并不需要记住字符a的ASCII,只要求出一个相对数值就可以了。」 这样就将字符串s中字符出现的次数,统计出来了。...C++ 代码 class Solution { public: bool isAnagram(string s, string t) { int record[26] = {0}

56420

在 Vue.js通过计算属性动态设置属性

引子 前面我们已经陆续介绍了 Vue.js 框架的常用基本语法,现在,我们可以结合这些语法实现一个小功能:展示一个 Web 框架列表,并支持新增框架。...这可以通过对列表项的 language 字段做排序来实现分组展示。...: 不过这种实现有个问题,就是页面一开始渲染的时候,列表项并没有按照 language 排序,为了更优雅的实现这个排序,可以使用 Vue.js 框架提供的计算属性功能。...计算属性 计算属性从字面意义上理解,就是经过计算后的属性,计算属性可以通过函数来定义,函数体中是该属性的计算逻辑,你可以在 HTML 视图中像调用普通属性一样调用计算属性,Vue 在初次访问该计算属性时...,通过对应函数体计算属性并缓存起来,以后每次计算属性依赖的普通属性发生变更,才会重新计算,所以性能上没有问题。

12.4K50

通过几行 JS可以读取电脑上的所有数据?

通过几行 JavaScript ,就可以读取到电脑/手机上的所有数据,浏览器中的网页可以读取你所有的密码,知道其他程序在干什么,这甚至不需要你写出来的程序是有漏洞的,因为这是一个计算机硬件层面上的漏洞...所以,CPU 执行需要非常小心,不能直接覆盖寄存器的,从而真的改变程序的状态,一旦发现预测失败就立刻回滚改动。...假如我们读到的这个受害者内存中包含 3: 这是我们不应该读取到的,但是我们可以通过预测执行做下面的事情: CPU 执行了这个不应该被执行的命令后,CPU 认为它需要看一下 A[X] 的是什么,这时...例如,如果网站(https://a.example)打开弹出窗口(https://b.example),则打开器窗口和弹出窗口共享相同的浏览上下文,并且它们可以通过 DOM API 相互访问,例如 window.opener...通过将 COOP 设置为 Cross-Origin-Opener-Policy: same-origin,可以把从该网站打开的其他不同源的窗口隔离在不同的浏览器 Context Group,这样就创建的资源的隔离环境

92220

通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽

前言 关于讲解 JS 的拖拽功能的文章数不胜数,我确实没有必要大费周章再写一篇重复的文章来吸引眼球。本文的重点是讲解如何在某些特定的元素上禁止拖拽。...="modal" id="modal"> <i class="fa fa-times...draggable('#modal', '#modal .modal-header');  我们可以通过第二个参数指定不同的拖拽元素,比如可以指定整个 modal 为拖拽元素 draggable('#...modal','#modal'); 拖拽问题 整个拖拽功能并没有太大的问题,但是如果我们拖拽关闭按钮,仍然可以拖拽整个 modal,看起来不太和谐而且在某些情况下会影响功能,所以我们需要排除掉关闭按钮。...如果使用原生 JS 的话,需要添加获取子元素的方法。

4.7K90

通过几个事例,就可以说明 for...of 循环在 JS 是不可或缺

for...of可以迭代数组,类似数组的对象以及通常所有可迭代的对象(map,set,DOM集合)。 接下我们通过事例来看看 for...of 一些有用的地方。 1....Map 与 Set 迭代 Map是一个特殊的对象,它将一个键关联到一个。...键可以是任何基本类型(通常是字符串,但也可以是数字等) 幸运的是,Map也是可迭代的(在键/对上进行迭代),所以使用for...of可以轻松地在所有键/对上循环遍历。...遍历普通 JavaScript 对象 遍历普通 JS 对象的属性/对总是很痛苦的。...const a = [/* big array */]; for (let i = 0; i < a.length; i++) { console.log(a[i]); } 在每次迭代中调用迭代器比通过增加索引访问该项目的开销更大

1K50

Js篇-面试题15-通过什么方法可以实现-检测页面 DOM 变化

通过什么方法可以实现-检测页面 DOM 变化 在MVVM框架中,一是监听数据的变化,数据驱动视图 通过Object.defineProperties()来监听数据的变化,或使用proxy来代理和反射 通过某个...API来监听DOM的变化(利用MutationObserver)来监听DOM的变化 注意 当通过JS操作了DOM之后,我们需要通知到DOM来更新视图,在vue2.0中是用的Object.defineProperies...维持了一个异步的队列,并不是修改了DOM就会立即更新到视图上面 Mutaion Observer API是用来监视DOM变动,DOM的任何变动,比如节点的增减,属性的变动,文本内容的变动 这个API都可以得到通知...targetNode,config); 实例: MutationObserver的callback的回调函数是异步的,只有在全部DOM操作完成之后才会调用callback target的第一个子节点 target的后代 以下是js代码 var targetNode

1.7K20

8种vue组件通信方式(转载)

2.png 一、props / $emit 父组件通过props的方式向子组件传递数据,而通过$emit 子组件可以向父组件通信。 1....父组件向子组件传 下面通过一个例子说明父组件如何向子组件传递数据:在子组件article.vue中如何获取父组件section.vue中的数据articles:['红楼梦', '西游记','三国演义'...子组件向父组件传 对于$emit 我自己的理解是这样的: $emit绑定一个自定义事件, 当这个语句被执行时, 就会将参数arg传递给父组件,父组件通过v- on监听并接收参数。...,而在最底层的子组件$children是个空数组。...移除事件监听者 如果想移除事件的监听, 可以像下面这样操作: import { eventBus } from 'event-bus.js' EventBus.

1.2K50

0CTF h4x0rs.club12 复现

不要问我为啥不写js,csp限制的那么狠,你告诉我js怎么写!怎么写! 而且大多数时候,写img,可以测试一下是否存在这个点。自己蛮喜欢先他测试。 ? 发现Chrome版本为65。...这次搜索后发现,这个规则是信任通过js加载进来的js代码 即,如果是被已经信任的js,所动态加载的代码都是可以执行的。 ?...这样一来,可不可以修改一下这个data.title呢, 接下来,继续看他的去向。...既然没办法修改,为什么不尝试伪造呢? 因为后端index不知道是谁给他通过postMessage发送的信息。但是,他却将所有信息都发送到了最顶级窗口。 后端主页js代码 ?...也就是在classjs-user下添加id为audiences内的html代码。即添加以下代码就是可以执行的。

1.5K70

Vue中组件之间8种通信方式,值得收藏

一、props / $emit 父组件通过props的方式向子组件传递数据,而通过$emit 子组件可以向父组件通信。 1....父组件向子组件传 下面通过一个例子说明父组件如何向子组件传递数据:在子组件article.vue中如何获取父组件section.vue中的数据articles:['红楼梦', '西游记','三国演义'...子组件向父组件传 对于$emit 我自己的理解是这样的: $emit绑定一个自定义事件, 当这个语句被执行时, 就会将参数arg传递给父组件,父组件通过v-on监听并接收参数。...上面这张图片是vue官方的解释,通过$parent和$children就可以访问组件的实例,拿到实例代表什么?代表可以访问此组件的所有方法和data。接下来就是怎么实现拿到指定组件的实例。...,而在最底层的子组件$children是个空数组。

84730

Vue中组件之间8中通信方式,值得收藏

一、props / $emit 父组件通过props的方式向子组件传递数据,而通过$emit 子组件可以向父组件通信。 1....父组件向子组件传 下面通过一个例子说明父组件如何向子组件传递数据:在子组件article.vue中如何获取父组件section.vue中的数据articles:['红楼梦', '西游记','三国演义'...子组件向父组件传 对于$emit 我自己的理解是这样的: $emit绑定一个自定义事件, 当这个语句被执行时, 就会将参数arg传递给父组件,父组件通过v-on监听并接收参数。...,而在最底层的子组件$children是个空数组。...移除事件监听者 如果想移除事件的监听, 可以像下面这样操作: import { eventBus } from 'event-bus.js' EventBus.

1K00

Webpack——从基础使用到手动实现(万字长文)

一个文件只能有一个 注意注意的是:在导入一个模块时,对于CommonJS来说获取的是一份导出的拷贝;而在ES6 Module中则是的动态映射,并且这个映射是只读的。...一:基础使用 1.1 处理html、css、js 使用webpack-dev-server 我们也是希望自己打包后文件可以在一个本地服务器上启动,webpack-dev-server就是一个这种东西。.../dist') }, 2.2 devtool :'source-map' 即源代码与打包后的代码之间的映射,就是在代码发生问题时可以通过source-map定位到原代码块 主要是在开发环境下使用...*/ /** * 订阅的处理函数有一个的返回不是undefined就停止向下跑 */ const { SyncWaterfallHook } = require('tapable') class.../usr/bin/env node const path = require('path') // 配置文件 const config = require(path.resolve('webpack.config.js

90310
领券