-
答案:通过HTML5拖放API实现看板需设计可拖动卡片与投放区域,绑定dragstart、dragover和drop事件,设置draggable属性并用data-*存储数据,在dragstart中设置拖动数据,dragover中阻止默认行为以允许投放,drop时移动元素并更新状态,同时添加CSS样式提供拖动和悬停视觉反馈,最后可通过SortableJS等库扩展排序与跨列拖拽功能。
-
setSelectionRange是原生input和textarea元素的方法,用于程序化设置光标位置或选中文本;仅在元素已聚焦、类型支持文本编辑(如text、search、password)且未禁用/只读时可用,否则会报错或无效。
-
服务端渲染(SSR)中不存在“微任务描述符”这一标准概念;真实风险在于全局状态污染、渲染实例未隔离及异步副作用竞态,需通过请求上下文隔离、每次创建新应用实例和正确await异步操作来防范。
-
推荐用@mixinclearfix封装,输出::before、::after及*zoom:1兼容IE6/7,避免手动重复、维护难和失效问题;但BFC已触发时(如overflow:hidden、flex/grid)不应滥用。
-
用canvas+getImageData手动改色是唯一靠谱方式,需逐像素按通道加权重做非线性映射,才能实现胶片特有的高光/阴影分离、青橙对比、颗粒感与褪色偏移。
-
JavaScript事件监听器生效需满足三条件:元素存在、绑定成功、事件路径未中断;动态元素须用事件委托;注意避免移除失败、重复绑定、冒泡阻断及CSS禁用事件。
-
展开运算符(...)实现浅拷贝并覆盖属性,即先展开原对象再以后面同名属性为准;仅复制顶层属性,嵌套引用类型仍共享内存;支持解构排除、动态键及条件更新,比Object.assign更声明式。
-
函数柯里化是将多参函数转为单参函数链,通过闭包逐步收参、延迟执行;函数组合则串联单参函数,让数据从右向左流动。二者结合可提升代码复用性、可测试性与表达力。
-
预加载核心是通过link标签提前加载关键资源以提升性能。1.使用rel="preload"并配合as属性指定资源类型,如字体、脚本、样式等;2.正确设置as值避免重复请求;3.结合media属性按条件加载;4.避免滥用以防阻塞队列。精准预加载可显著优化首屏速度。
-
:required伪类仅匹配原生支持required属性的表单元素(input/select/textarea)且HTML中真实存在required属性;JS设置property、框架未透传、ShadowDOM隔离、Safari旧版bug或选择器错误均会导致失效。
-
HTML本身不能CDN加速,需将script/link/img等外部资源替换为CDN域名URL;通过浏览器Network面板检查RequestURL是否为CDN地址及响应头x-cache等字段验证是否命中CDN。
-
Canvas需显式设置width/height属性并配JavaScript才能绘图,CSS仅拉伸致模糊;必须用getContext('2d')获取上下文对象操作,且需DOM加载后执行,否则为空白或异常。
-
最有效解法是正确使用.clearfix类:必须包含content:"";display:table;clear:both,且加在直接包裹浮动子元素的父容器上;单独写clear:both在父元素上无效,因clear只影响自身位置,不解决父容器无法感知浮动子项的高度塌陷问题。
-
现代响应式布局应以flexbox+grid为核心,外层grid划分区域、内部flex流式排列,配合srcset、clamp、prefers-reduced-motion等原生特性实现真正可用的跨设备体验。
-
核心解决思路是控制子项自身对齐行为并限制内容溢出表现:设align-self:start/center防撑高,配合max-height:100%和overflow:auto实现安全滚动。