根据提供的文档信息,我们可以整理出一系列JavaScript的小技巧与知识点,这些技巧主要涵盖了事件处理、DOM操作、表单交互以及一些实用的代码片段等。下面将对这些知识点进行详细阐述:
### 1. 事件处理
- **事件源对象**:
- `event.srcElement.tagName`:获取触发事件的元素标签名。
- `event.srcElement.type`:获取触发事件的元素类型(如按钮、文本框等)。
- `event.srcElement.setCapture()`:设置元素捕捉所有后续的事件。
- `event.srcElement.releaseCapture()`:取消元素的事件捕捉。
- **键盘事件**:
- `event.keyCode`:获取按下的键的键码。
- `event.shiftKey`:判断是否按下Shift键。
- `event.altKey`:判断是否按下Alt键。
- `event.ctrlKey`:判断是否按下Ctrl键。
- **事件返回值**:
- `event.returnValue`:阻止默认行为(例如,通过设置为`false`来阻止表单提交)。
- **鼠标位置**:
- `event.x` 和 `event.y`:获取鼠标相对于窗口的位置坐标。
- **窗体活动元素**:
- `document.activeElement`:获取当前文档中的活动元素。
- **绑定事件**:
- `document.captureEvents(Event.KEYDOWN)`:监听键盘按下事件。
- `document.all.xxx.detachEvent('onclick', a)`:移除某个元素的点击事件监听器。
### 2. DOM操作
- **访问窗体元素**:
- `document.all("txt").focus()`:使指定的元素获得焦点。
- `document.all("txt").select()`:选中指定的元素。
- **窗体命令**:
- `document.execCommand`:执行特定的浏览器命令,如剪切、复制等。
- **创建元素**:
- `document.createElement("SPAN")`:创建一个新的`<span>`元素。
- **依据鼠标位置获取元素**:
- `document.elementFromPoint(event.x, event.y)`:根据鼠标指针位置获取其下方的元素。
- **插入节点**:
- `document.elementFromPoint(event.x, event.y).appendChild(ms)`:向指定元素后添加一个新的子节点。
- **窗体图片**:
- `document.images[索引]`:通过索引访问文档中的图片元素。
- **窗体元素绑定事件**:
- `document.窗体.elements[索引]`:通过索引访问窗体中的元素,并可以为其绑定事件。
- **替换CSS**:
- `document.all.csss.href = "a.css"`:动态更改页面中的CSS样式。
### 3. 表单操作
- **取变量类型**:
- `typeof($js_libpath) == "undefined"`:检查变量是否存在或已定义。
- **下拉框操作**:
- `下拉框.options[索引]`:获取或设置下拉框选项。
- `下拉框.options.length`:获取下拉框选项的数量。
- **查找对象**:
- `document.getElementsByName("r1")`:通过名称查找文档中的元素。
- `document.getElementById(id)`:通过ID查找文档中的唯一元素。
### 4. 其他实用技巧
- **定时器**:
- `timer = setInterval('scrollwindow()', delay)`:设置一个定时器,每隔指定的时间间隔执行一次函数。
- `clearInterval(timer)`:清除定时器。
- **编码解码**:
- `escape()` 和 `unescape`:对URL进行编码和解码。
- **获取父对象**:
- `obj.parentElement(dhtml)` 或 `obj.parentNode(dom)`:获取指定元素的父元素。
- **表单元素移动**:
- `TableID.moveRow(2, 1)`:在表格中移动行的位置。
- **并排显示**:
- `display: inline`:使多个元素并排显示。
- **隐藏焦点**:
- `hidefocus = true`:隐藏元素获得焦点时的视觉效果。
- **自动换行**:
- `word-wrap: break-word; word-break: break-all`:当内容超出容器宽度时自动换行。
- **透明背景IFRAME**:
- `<iframe src="1.htm" width=300 height=180 allowtransparency></iframe>`:创建一个具有透明背景的iframe。
- **获取style内容**:
- `obj.style.cssText`:获取元素的所有内联样式。
以上就是从文档中整理出来的一系列JavaScript小技巧,这些技巧覆盖了事件处理、DOM操作、表单交互等多个方面,对于前端开发者来说非常实用。希望这些知识点能够帮助你在实际项目开发中提高效率。