js-权威指南学习笔记15.3
1、如果要明确地选取一个表单元素,可以索引表单对象的elements属性:document.forms.address.elements.street--一个name为address的form下的name为street的表单元素。
2、当用name索引一个HTMLCollection对象并且它包含多个元素来共享name时,返回值是一个类数组对象。
3、JS的Form对象支持两个方法:submit()和reset()。
4、每个Form元素都有一个onsubmit事件处理程序来侦测表单提交,还有一个onreset事件处理程序来侦测表单重置。直接调用表单的submit()和reset()方法不会触发事件处理程序。
5、在事件处理程序代码中关键字this是触发该事件的文档元素的一个引用,既然在<form>元素中的元素都有一个form属性引用了该包含的表单,这些元素的事件处理程序总是能够通过this.form来得到Form对象的引用。能够通过this.form.x得到该表单中以x命名的元素。
6、设置复选框或单选元素的value属性不会改变元素的视觉表现。设置value只改变提交表单时发送到Web服务器的字符串。
7、文本输入域的onchange事件处理程序是在用户输入新的文本或编辑已存在的文本时触发,它表明用户完成了编辑并将焦点移出了文本域。
8、如果用户在文档中导向到一个新的片段,location.href会发生变化,但是document.URL则不会。
9、document.write()会将其字符串参数连接起来,然后将结果字符串插入到文档中调用它的脚本元素的位置。
10、只有在解析文档时才能使用write()方法输出HTML到当前文档中。
11、第一次调用其他文档的write()方法即会擦除该文档的所有内容,可以多次调用来逐步建立新文档的内容,直到调用文档对象的close()方法来结束书写序列。
12、标准的window.getSelection()方法返回一个Selection对象,后者描述了当前选取的一系列一个或多个Range对象。判定用户在文档中选取了那些文本的函数:
function getSelectedText(){ if(window.getSelection){ return window.getSelection.toString(); }else if(document.selection){//IE return document.selection.createRange().text; } }
13、有两种方法来启用编辑功能。其一,设置任何标签的HTML contenteditable属性;其二,设置对应元素的JS contenteditable属性。将Document对象的designMode属性设置为on,将使整个文档可编辑。