.dom对象(window对象③.history.location.navigator.screen.event).js事件驱动编程

dom对象详解----window对象3

  1. status属性

window 的 status 属性可以控制状态栏的信息

实现下面的案例:

  1.  案例代码:

<html>

<head>

<script type="text/javascript">

var space_num=0;

方向

var dir=1;

function myScroll(){

var space_my=" ";

space_num = space_num + 1 * dir;

if(space_num>50 || space_num<0){

dir = dir * -1;

}

for(var i=0;i<space_num;i++){

space_my = space_my + " ";

}

window.status = space_my + "世界你好!";

}

function startIt(){

setInterval("myScroll()",100);

}

</script>

 

</head>

<body οnlοad="startIt()">

</body>

</html>

  1. 练习题目

window实际上已经讲完了

window要告一段落了

  1. dom对象详解-history对象
  1. 简介

用途就是返回原先浏览过的页面

很多浏览器禁用了因为会泄露浏览隐私

浏览历史就是通过history进行记录的

History 对象实际上是javascript对象,而不是Html DOM对象。

History 对象包含用户(在浏览器窗口中)访问过的 URL。

History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。

注释:没有应用于 History 对象的公开标准,不过所有浏览器都支持该对象。

和Java的jre起到的作用是一样的提供一个运行的平台

 

  1. back(

back是返回一个页面

  1. go()

返回之前许多个的时候返回指定的页面

返回之前一个当前算0

  1. Length

返回的是之前的个数不算当前

  1. forward()

相当于go(1)

在最后面不能用go(1)

  1. dom对象详解-location对象
  1. 简介

运行时创建的只有运行的时候才创建

浏览器可以设置空白页这个时候就没有这个对象

就是这个位置

Location 对象包含有关当前 URL 的信息。

Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

 

location对象的属性和方法如下:

  1. relad()

 重新加载当前文档

作用相当于刷新

  1. href

查一下文档

  1. hostname

得启动tomcat才能管用

打印的不是机器的名称而是前面的地址

准确地讲取的是ip地址

  1. protocol

  1. ★dom对象详解-navigator对象

Navigator (导航)对象包含有关浏览器的信息。

这个很有用

注释:没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象。

 

  1. navigator对象的属性和方法

 

<html>

<body>

<script type="text/javascript">

var browser=navigator.appName;

var b_version=navigator.appVersion;

var version=parseFloat(b_version);

document.write("浏览器名称:"+ browser);

document.write("<br />");

document.write("浏览器版本:"+ version);

document.write("<p>平台:");

document.write(navigator.platform + "</p>");

</script>

</body>

</html>

火狐返回的是网景

Utf-8

linux还是win32

Win32是指Microsoft Windows操作系统的32位环境,与Win64 都为Windows常见环境

使用的语言火狐不支持

  1. ★dom对象详解-screen对象

Screen 对象

很有用处

Screen 对象包含有关客户机器显示屏幕的信息。

注释:没有应用于 screen 对象的公开标准,不过所有浏览器都支持该对象。

 

screen对象的属性:

  1.  常用属性

  1. 案例1

指的是屏幕的宽和高不是浏览器的

  1. 案例2

返回可用高度除去任务栏返回的是像素

  1. dom对象详解-event对象

event事件在前面都已经讲过了,这里就不再详细讲了

  1. 重点关于绑定事件的细节

  1. 直接和某个html控件绑定

  1. 通过getElementById()获取到元素后,再绑定
  2. 通过addEventListener() 或者是 attachEvent() 来绑定
  3. 一个事件可以有多个监听者

 

  1. 案例1:

<html>

<head>

<script type="text/javascript">

function test(){

window.alert("绑定成功");

}

</script>

</head>

<body>

<input type="button" id = "but1" value="绑定">

<script type="text/javascript">

document.getElementById("but1").οnclick=test;

  • 注意这里不要加();
  • 如果加了就是就是将函数执行结果返回给了他
  • 和前面讲到的类似onclick函数指向了test

</script>

</body>

</html>

  1. 案例2:

需求如果有一个投票系统但只能投一次票

这个是w3c标准的规范

<html>

<head>

<script type="text/javascript">

function test(){

window.alert("你投了一次票,投票成功");

//解除这个事件绑定

document.getElementById("but1").removeEventListener('click',test);

}

</script>

</head>

<body>

<input type="button" id = "but1" value="投票">

<script type="text/javascript">

document.getElementById("but1").addEventListener("click",test);

注意这里是 click ,而不是 onclick

</script>

</body>

</html>

  1. 案例3

这个是IE独有的

刷新一次页面仍然可以投

如果想真正防止投两次只能服务器记录ip 和网卡的Mac地址了

  1. 特别强调:

addEventListener() 方法的浏览器支持

Internet Explorer 8 及更早IE版本不支持 addEventListener() 方法,Opera 7.0 及 Opera 更早版本也不支持。

如果浏览器不支持 addEventListener() 方法, 你可以使用 attachEvent() 方法替代。

以下实例演示了跨浏览器的解决方法:

<!DOCTYPE html>

<html>

<body>

 

<p> 所有主流浏览器都支持addEventListener()方法,除了 IE 8 及更早 IE 版本。</p>

 

<p>该实例演示了所有浏览器兼容的解决方案。</p>

 

<button id="myBtn">点我</button>

 

<script>

var x = document.getElementById("myBtn");

if (x.addEventListener) {

    x.addEventListener("click", myFunction);

} else if (x.attachEvent) {

    x.attachEvent("onclick", myFunction);

}

 

function myFunction() {

    alert("Hello World!");

}

</script>

 

</body>

</html>

  1. 案例4

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript">

function test(event){

//用户每按下一个键,就去判断是不是一个数

if(event.keyCode>=48 && event.keyCode<=57){

}else {

window.alert("你输入的不是数");

return false;  

//window.event.returnValue=false; 

这样也可以

event里面有一个returnValue属性当他是false的时候就会取消事件执行

}

}

</script>

</head>

<body>

每输入一个数就进行检查而不是等输完了再检查

按下并松开事件

注意这三者的区别

<input type="text" id = "text1" οnkeypress="return test(event)">

<input type="button" id = "but1" value="提交" οnclick="test()">

</body>

</html>

  1. event对象

clientX 相对于窗口而言

screenX相对于屏幕而言

  1. onkeypress、onkeyup、onkeydown

onkeypress

这个事件在用户按下并放开任何字母数字键时发生。

系统按钮(例如,箭头键和功能键)无法得到识别

onkeyup

这个事件在用户放开任何先前按下的键盘键时发生。

onkeydown

这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java邦邦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值