javascript小技巧,含有多种特效,实用功能
### JavaScript小技巧详解 在日常开发中,JavaScript作为前端开发的核心语言之一,其灵活多变的特性让开发者能够实现各种各的功能与特效。本文将基于提供的文件内容,深入解析其中涉及的一些JavaScript小技巧,帮助大家更好地理解和应用这些知识点。 #### 事件处理与键盘操作 - **`event.srcElement.tagName`** 和 **`event.srcElement.type`**: 这两个属性可以用来获取触发事件的元素的标签名和类型。这对于处理特定类型的元素(如按钮、输入框等)非常有用。 - **`event.srcElement.setCapture()`** 和 **`event.srcElement.releaseCapture()`**: 这两个方法用于控制元素捕获事件流的能力。通过设置捕获,可以在特定元素上优先处理事件,即使事件是在子元素上触发的。 - **`event.keyCode`**: 返回触发事件时按下的键的虚拟键码。这在处理键盘事件时非常有用。 - **`event.shiftKey`**, **`event.altKey`**, **`event.ctrlKey`**: 这些布尔值属性表示是否按下了Shift、Alt或Ctrl键。这对于实现组合键操作特别有用。 #### 事件返回值和其他属性 - **`event.returnValue`**: 设置此属性可以阻止默认行为或返回自定义值。 - **`event.x`** 和 **`event.y`**: 返回鼠标相对于视口的位置坐标。这对于实现动态效果很有帮助。 - **`document.activeElement`**: 返回当前文档中的活动元素(通常是指获得焦点的元素)。这对于判断用户当前正在操作哪个元素很有用。 #### DOM操作与元素创建 - **`document.createElement("SPAN")`**: 创建一个新的`<span>`元素。这是DOM操作中最基本的方法之一。 - **`document.elementFromPoint(event.x,event.y)`**: 返回指定坐标处的元素。这对于实现点击事件反馈等功能非常有帮助。 - **`document.images[]`**: 获取页面中所有图片元素的集合。这对于遍历并操作页面上的图片非常方便。 - **`document.all("txt").focus()`** 和 **`document.all("txt").select()`**: 分别聚焦和选中指定的元素。这对于处理表单元素特别有用。 - **`document.all.xxx.detachEvent('onclick',a);`**: 移除绑定到某个元素的事件监听器。这对于避免内存泄漏非常重要。 #### 其他技巧 - **`navigator.plugins`**: 获取浏览器安装的插件信息。这对于检测浏览器支持情况很有帮助。 - **`typeof($js_libpath)=="undefined"`**: 检查变量是否已经定义。这在引入库文件时特别有用,可以帮助避免重复加载。 - **`document.getElementsByName("r1");`**: 获取具有相同名称的所有元素。这对于处理表单中的复选框组非常有用。 - **`document.getElementById(id);`**: 获取具有指定ID的元素。这是最常用的DOM选择器之一。 - **`setTimeout`** 和 **`clearTimeout`**: 延迟执行函数或清除延迟执行。这对于实现定时器非常有用。 - **`escape()`** 和 **`unescape`**: 对字符串进行编码和解码。这对于处理URL参数特别有用。 - **`document.cookie`**: 读取和设置Cookie。这对于实现登录状态保持等功能非常有用。 - **`obj.style.cssText`**: 设置元素的样式。这对于动态改变元素样式非常方便。 - **`document.documentElement.innerHTML`**: 获取或设置整个HTML文档的内容。这对于动态生成页面内容非常有用。 - **`document.styleSheets[0]`** 和 **`document.styleSheets[0].rules[0]`**: 访问和修改样式表规则。这对于动态调整样式表非常有用。 #### 表单与链接操作 - **`document.oncontextmenu`**: 处理右键菜单事件。这对于禁止默认上下文菜单特别有用。 - **`<a href="javascript:function()">word</a>`**: 使用JavaScript函数作为链接目标。这对于实现动态链接非常有用。 - **`<a href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy">`**: 创建带有预设主题和正文的邮件链接。这对于提供快速联系方式特别有用。 - **`obj.scrollIntoView(true)`**: 将元素滚动到可视区域。这对于实现页面导航特别有用。 - **`location.search()`**: 获取URL中的查询字符串。这对于解析URL参数特别有用。 #### 特殊字符处理与编码 - **正则表达式**: `/[^\x00-\xff]/` 和 `[\u4e00-\u9fa5]` 用于匹配非ASCII字符和中文字符。这对于处理国际化文本非常有用。 - **`word-wrap:break-word; word-break:break-all;`**: CSS属性用于处理长单词和文本换行。这对于实现响应式布局特别有用。 #### 显示与隐藏元素 - **`display:inline`**: 设置元素为内联显示。这对于控制元素布局非常有用。 - **`hidefocus=true`**: 隐藏元素获得焦点时的高亮效果。这对于改善用户体验特别有用。 - **`style="word-break:break-all"`**: 设置元素内的文字自动换行。这对于处理长单词或地址特别有用。 #### 页面重定向与刷新 - **`<meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net">`**: 设置页面自动重定向。这对于实现页面定时刷新特别有用。 - **`document.referrer`**: 获取前一个页面的URL。这对于跟踪用户来源特别有用。 #### 动态加载资源 - **`document.all.csss.href="a.css";`**: 动态更改CSS文件。这对于实现主题切换非常有用。 - **`<IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>`**: 加载外部页面到iframe中。这对于嵌入第三方内容特别有用。 #### 内容可编辑性与命令执行 - **`obj.contenteditable=true`**: 设置元素为可编辑。这对于实现富文本编辑器特别有用。 - **`obj.execCommand`**: 执行命令。这对于实现复制、粘贴等操作非常有用。 #### 特殊处理与调试技巧 - **`CollectGarbage();`**: 强制垃圾回收。这对于避免内存泄漏特别有用。 - **`document.oncontextmenu=function(){returnfalse;}`**: 禁止上下文菜单。这对于保护页面内容特别有用。 - **`<noscript><iframe src="*.htm"></iframe></noscript>`**: 在禁用JavaScript的情况下加载内容。这对于提供备选方案特别有用。 - **`<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false" onselect="do`**: 禁止选中文本和拖动。这对于保护页面内容特别有用。 以上就是根据提供的文件内容整理的一些JavaScript小技巧,这些技巧覆盖了事件处理、DOM操作、表单与链接操作、特殊字符处理等多个方面,希望对大家有所帮助。在实际开发中,灵活运用这些技巧可以极大地提高工作效率和用户体验。
- 粉丝: 10
- 资源: 25
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C语言的系统服务框架.zip
- (源码)基于Spring MVC和MyBatis的选课管理系统.zip
- (源码)基于ArcEngine的GIS数据处理系统.zip
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
- (源码)基于C++和Qt框架的dearoot配置管理系统.zip
- (源码)基于 .NET 和 EasyHook 的虚拟文件系统.zip
- (源码)基于Python的金融文档智能分析系统.zip
- (源码)基于Java的医药管理系统.zip