---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
Javascript—>dom就像 C#-à.Net Framwork 从 语言(语法)到 方法(操作)
CSS+javascript+dom 就是 DHTML
事件:
1. 直接为某事件调用某个函数
<script type=”text/javascript”>
function bodymousedown(){
alert(“鼠标按下了”);
}
</script>
<body οnmοusedοwn=”bodymousedown()”> </body>
// 注意此时 bodymousedown后的括号不能丢,,因为这里意思是:onmousedown事件调用 bodymousedown函数,而不是说 onmousedown事件的响应函数就是 bodymousedown函数
2.除了直接给某个事件指定调用某个函数,也可以 动态的为某个事件关联某个响应的函数
function f1(){
alert(“1”);
}
function f2(){
alert(“2”);
}
//意思是当按钮被单击的时候,将doucument.ondblclick这个事件的响应函数设置为f1这个函数
<input type=”button” value=”关联事件1” οnclick=”doucument.οndblclick=f1”>
//意思是当按钮被单击的时候,将doucument.ondblclick这个事件的响应函数设置为f2这个函数
<input type=”button” value=”关联事件2” οnclick=”doucument.οndblclick=f2”>
常用事件:
Onload(加载完成)
onunload(网页关闭后触发)
onbeforeunload(网页关闭前触发)
//要想网页关闭前弹出对话框可以这样做
<body οnbefοreunlοad=”window.event.returnValue =’真的要离开吗?’ ”>< /body>
Onclick (单击)
ondblclick (双击)
onkeydown (按键按下)
onkeypress (点击按键)
onkeyup (释放按键)
onmousedown (鼠标按下)
onmousemove (鼠标移动)
onmouseout (鼠标离开元素范围)
onmouseover (鼠标移动到元素范围内)
onmouseup (鼠标按键释放)
控件常用属性: value(值) disabled(是否可用,设置的时候值为disabled;改变的时候值设置为false)
display(是否显示,值为true和false)
2. window对象
window对象指的是当前的网页。使用window对象的属性和方法的时候可以省略window,,比如window.alert(“hello”) 可以直接写成alert(“hello”)
(1)alert()方法 显示对话框
(2)confirm()方法,显示确定,取消按钮,选择“确定”返回值是 true,选择“取消”返回值是 false
function Doconfirm(){
if(confirm(“是否进入?”)){
alert(“进入!”);
}
else{
alert(“取消进入.”);
}
}
(3)navigate() 方法,, 导向到另一个页面
<input type=”button” value=”navigate测试” οnclick=”navigate(‘1.htm’)” />
//点击按钮后页面导入到1.htm
(4) setInterval()方法 每隔一段时间执行指定的代码,第一个参数为代码段,第2个参数为监控时间(毫秒),他的返回值是 interval的 一个 标识
clearInterval()方法 取消定时执行的代码
例子:var interval = setInterval(“alert(‘哈’)”,5000);
clearInterval(interval);
(5)setTimeout()也是定时执行,但他只执行一次
clearTimeout()也是清除定时。。
例子: var timeout = setTimeout(“alert(‘哈哈’)”,5000);
clearTimeout(timeout);
(5)parseInt(string,多少进制) 转换为整数
windows对象属性
(1) window.localtion.href =”www.baidu.com” 导向到新的网页 和 navigate()方法的效果一样
window.location.reload()方法 刷新页面
(2) window.event
window.event是很重要的属性,用来获得事件发生时的信息,事件不局限于window对象的事件,所有的元素的事件都可以通过event属性获得相关信息
在event属性下的一些相关 事件信息
A. altkey,ctrlkey,shiftkey 属性 bool类型,用来判断相关案件是否被按下
例子:<input type=”button” value=”点击” οnclick=”if(event.altkey){alert(‘alt键被按下了’);}else{alert(‘alt键没有被按下’);}” />
B. clientX clientY 属性,事件发生时 鼠标在客户区的坐标;
screenX screenY 属性 事件发生时鼠标在屏幕上的坐标;
offsetX offsetY 属性,事件发生时鼠标在事件源(比如点击按钮时出发click)的坐标
C. returnValue属性,如果将 returnValue属性设为 false,就会取消默认事件的处理. 比如点击超链接后禁止转到另外的页面,表单数据校验的时候禁止提交到服务器
例子:
<a herf=”www.baidu.com” οnclick=”alert(‘禁止访问!’); window.event.returnValue=false;” >百度</a>
<form action=”1.aspx”>
<input type=”submit” value=”提交” οnclick=”alert(‘数据有问题!’); window.event.returnValue=false;” />
</ form>
D. srcElement,获得事件源对象,也就是说 发生事件时候是哪个控件
E. keyCode 发生事件时的按键值
F. button 发生事件时鼠标按键的值 ,1为左键,2为右键,3为左右键同时按下
例子:<body οnmοusedοwn=”if(event.button==2){alert(‘禁止复制’)}”></body>
(3) history操作历史记录的属性
window.history.back() 后退
window.history.forward() 前进
window.history.go(-1) 后退
window.history.go(1) 前进
(4) document属性 (html页面的文档 )
document方法:
A.write:向文档中 写入内容,writeIn 和write差不多,多了一个回车。
//点击按钮后会写下一个hello,注意 这样子会冲掉原来网页的内容。 只有在页面加载的时候的
//write才不会冲掉,在事件里时候 一般页面都加载完毕了,所以会冲掉原来的内容
<input type=”button” value=”点击” οnclick=”document.write(‘hello’)”>
write经常在 广告代码,内容整合中用 。
B. getElementById()方法 可以通过控件id找到他的上级控件,页面内的id是唯一的
我们可以通过空间 id的方式访问控件的属性,但是如果这个控件在一个form表单里面,单独的 控件id.属性 不恩那个访问,这个时候需要 form控件id.控件id.属性 来访问,比较麻烦, 我们直接通过getElementById()方法找到上级控件id,例子:
<script type=”text/javascript”>
function printText(){
var txt = getElementById(“textbox1”);
alert(“txt.value”);
}
</script>
<form>
< input type=”text” id=”textbox1” / >
<input type=”button” value=”打印文本” οnclick=”printText()” />
</form>
C. getElementsByName()方法,根据元素的Name获得对象,由于页面内的Name可以重复,
比如多个RadioButton的name一样,所以此方法的返回值是 对象数组
D. getElementsByTagName()方法,获得制定标签名称的元素数组,
比如getElementTagName(“p”)可以获得所有的<p>标签
3. screen对象,屏幕的信息
例子:
alert(“分辨率:”+screen.width+”X”+screen.heigth);
if(screen.width<1024||screen.heigth<768)
{
alert(“分辨率太低”);
}
4 .clipboardData对象,对粘贴板的操作。
clearData(“Text”); //清空粘贴板
getData(“Text”); //得到粘贴板的值,返回值为粘贴板中的内容
SetData(“Text”,val); //设置粘贴板的值
很多元素也有 oncopy(复制) 和 onpaste(粘贴) 事件,直接return false 就是禁止
例子:
//当复制的时候 body的oncopy事件触发,直接return false就是禁止粘贴
<body οncοpy=”alert(‘禁止复制’);return false;”>
在很多网站上,为了防止 拷贝党不添加文章来源,我们可以给他们主动添加上:
function modifyClipboard(){
clipboardData.setData(‘Text’,clipboardData.getData(‘Text’)+’本文来自传播智客 ’+localtion.href);
}
<body οncοpy=”setTimeout(‘modifyClipboard()’,100)”>
//用户复制的动作发生0.1秒后再执行该粘贴板内容的操作 时间自己定
//不能在oncopy中对粘贴板执行操作,因此设定定时器,0.1秒后执行,这样就不在oncopy的执行调用栈上了
5. Date 类 获取时间
var now = new Date();
var hours = now.getHours();
var year = now.getYear();
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/