JavaScript高级程序设计--表单脚本
1.提交表单
submit
onsubmit
2.表单的change事件
input与textarea元素的change事件触发在,他们失去焦点且value值改变的时候
select的change事件发生在选项改变的时候
3.选中文本select()与获取选中的文本
在文本框获得焦点的时候默认选中其中所有文本,用以提高用户体验。
if(window.getSelection){//现代浏览器userSelection=window.getSelection();
}elseif(document.selection){//IE浏览器 考虑到Opera,应该放在后面userSelection=document.selection.createRange();
}
当然jQuery对象也有select()方法。
jQuery的复制方法 clone()。
一个例子:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="jquery-1.11.3.js"></script>
</head>
<body>
<div id="AA">
<input type="text" style="width:100px;height:30px;" value="" />
<input type="text" style="width:100px;height:30px;" value="" />
</div>
</body>
<script>
$(document).ready(function(){
$("input").click(function(){//$("input")[0]这样写就讲jQuery对象转化成了DOM对象
$(this).select();
if (window.getSelection) {
//现代浏览器
userSelection = window.getSelection();
} else if (document.selection) {
//IE浏览器 考虑到Opera,应该放在后面
userSelection = document.selection.createRange();
}
console.log(userSelection);
//在DOM Level2标准中定义了一个HTMLElement对象,它规定所有的DOM对象都是HTMLElement的实例,
// 所以我们可以利用这点来判断一个对象是不是DOM对象:如果该对象是HTMLElement的实例,
// 则它肯定是一个DOM对象。在不支持HTMLElement的浏览器中我们则还是使用特征检测法。
/* if($(this) instanceof jQuery){
alert("Jqueryduixiang ")
}else if( document.getElementsByTagName("input")[0] instanceof HTMLElement){
alert("DOM")
}*/
return false;//防止冒泡
})
$("#AA").click(function(){alert("AA")})
})
</script>
</html>
4.访问剪贴板的数据 clipboardData
有三个方法:getData(),setData(),clearData()
5.自动切换焦点
当达到一定长度之后 下个input自动获得焦点
6.<select>和<option>的花式玩法
add(newOption,relOption);向控件中插入元素
multiple:多选
options:所有<option>元素的HTMLCollection
remove(index):移除给定位置的选项
selectedIndex
size:选择框中可见的行数
可以使用:
var newOption=new Option("Option text","Option value");
selectbox.appendChild(newOption);
添加一个选项
7.appendChild()
可以用来将一个列表中的项移动到另外一个列表最后,注意是移动~
例子:
<body>
<ul id="myList1"><li>Coffee</li><li>Tea</li></ul>
<ul id="myList2"><li>Water</li><li>Milk</li></ul>
<p id="demo">请点击按钮把项目从一个列表移动到另一个列表中。</p>
<button onclick="myFunction()">亲自试一试</button>
<script>
function myFunction()
{
var node=document.getElementById("myList2").lastChild;
document.getElementById("myList1").appendChild(node);
}
</script>
![](https://images2015.cnblogs.com/blog/743207/201511/743207-20151118205007593-2112956056.png)
我们想的可能是:将water从第二项中删除,然后生成一个文本water,给一追加上。
然而,并不需要这样只需要appendChild(),就会自然的将water从二项中移除,添加到一项中。
jQuery中的append效果也是如此。
更多精彩文章请访问GitHub博客
无特殊声明的文章均为原创!
原创文章如若转载,请注明出处!http://www.cnblogs.com/zqzjs/
告诫自己即使再累,也不要忘记学习。成功没有捷径可走,只有一步接着一步走下去!