烂笔头
Shellphon
写代码啊写代码
展开
-
js如何模拟表单输入
到了react时代就不同了,虽然也可以通过js拿到dom,给dom.value设置,但是react的状态绑定下,单纯给dom设置value,可是不会直接让react对于的状态也变化的。理论上,react上的事件虽然不是直接绑在dom,而是合成事件,但合成事件也是root上绑定的事件,等待冒泡上来的,new Event也设置了bubbles:true。jQuery时代,模拟表单输入很简单,本质上就是操作dom,选择对于的dom,给dom.value设置值即可。用了另外一种方式给dom设置value。原创 2024-04-23 21:47:42 · 270 阅读 · 1 评论 -
react合成事件与原生事件区别备忘
朋友问起在做一个下拉框组件,下拉的点击事件是用react的onClick触发,外部区域点击关闭则用dom的原生点击事件绑定,问题是下拉的点击事件无法阻止冒泡到dom的原生事件。我说,react的合成事件 和 原生事件是不一样的,尽可能不要混用,不然很绕。翻开之前在codepen写的demo也把自己绕晕了一下。react的合成事件,注入onClick等事件,是在根元素上事件代理模拟的。react 16.8.0和之前的版本,是在document上事件代理,react 17则是在root。原创 2024-04-18 20:53:30 · 1017 阅读 · 0 评论 -
让css失效的方法
通过document.styleSheets 找到对应的样式成员,给它设置disabled属性为true即可,document.stylesSheets可以获取到页面的样式,不止是link标签的,style标签也可以。原创 2024-04-15 00:21:00 · 374 阅读 · 0 评论 -
油猴脚本-微信文章dark模式影响阅读
找了几篇文章不得其解,后来看了下mac系统设置,我在外观上选了自动。但这不是我想要的结果,说好的写脚本呢,系统的配置我还是保留,既然prefer-color-scheme我们搞不了,那且浅看下[data-weui-theme=dark]这个属性选择器。页面加载->给body添加data-weui-theme: light -> 把带js_darkmode__1的移除掉样式->搞定。看到了 prefer-color-scheme的媒体查询,以及 [data-weui-theme=dark] 的属性选择器。原创 2024-04-11 20:48:22 · 232 阅读 · 0 评论 -
gitconfig区分工作和个人账号
用git,一般会有个人账号比如github的账号,也会有工作上的gitlab等的账号。一般~/.gitconfig 会有git账号和邮箱配置,这个一般就是全局的了,可以在一些目录里运行git config user.email 查看正使用的邮箱。而且在githubs本目录下似乎git config user.email拿不到信息,或者拿到全局的(~/.gitconfig 配置的user)比如我在Documents/githubs目录放的是开源的项目,在Documents/works 目录放的是工作的项目。原创 2024-03-31 21:27:20 · 485 阅读 · 0 评论 -
antd 日期选择框增加季度预设范围
获取当前一季度的开始日期时间: moment().quarter(1).startOf('quarter')测试同学说想要有个季度的预设选择框,方便快速选择季度的开始和结束日期。实现方法很简单,按照官网示例用moment初始化一下即可。antd 的rangepicker是支持预设的。原创 2024-01-24 20:37:44 · 509 阅读 · 2 评论 -
img 跨域 和 缓存
当使用缓存时,img请求的图片没有响应头Access-Control-Allow-Origin,再次用js来fetch图片时复用了缓存请求,响应头并没有Access-Control-Allow-Origin,浏览器认为这个请求不支持跨域。当不使用缓存时,fetch图片时重新发起了请求,此时响应头返回了Access-Control-Allow-Origin,支持跨域,于是正常。一个奇怪的问题,明明图片那边配置了允许跨域,但在禁用缓存的情况,js fetch 图片都正常。图片所在域名是 b.com。原创 2023-12-27 20:59:28 · 1077 阅读 · 0 评论 -
mac下使用puppeteer-core demo
因为本来电脑就有chrome,不想puppeteer装多一个chrome,于是只安装了puppeteer-core,那就需要在launch的时候,传入executablePath来指定chrome浏览器。因此,只要跑一次,手动登录一下,下回再跑脚本,就不需要手动登录了。当然,如果目标系统有做一些时效处理的话,可能下回再跑脚本,缓存过期还是得手动登录了。许久没用过puppeteer了,最近看了篇文章,貌似能解决puppeteer访问一些需要登录的系统时每次都要手动登录的麻烦。原创 2023-06-03 23:27:28 · 1077 阅读 · 0 评论 -
树形数组结构和扁平数组结构的转换
关于树形数组结构和扁平数组结构之间的转换原创 2023-03-14 21:08:02 · 424 阅读 · 0 评论 -
算出指定日期在当年的第几周
js计算某天是当年的第几周原创 2022-12-12 20:37:29 · 534 阅读 · 0 评论 -
css module global笔记
global原创 2022-06-09 11:22:49 · 483 阅读 · 0 评论