
<script language="javascript" type="text/javascript">
//处理键盘事件
function doKey(e) {
var ev = e || windowevent; //获取event对象
var obj = evtarget || evsrcElement; //获取事件源
var t = objtype || objgetAttribute('type'); //获取事件源类型
if (evkeyCode == 8 && t != "password" && t != "text" && t != "textarea") {
return false;
}
if (evkeyCode == 13) {
GetSearch();
return false;
}
}
//禁止后退键 作用于Firefox、Opera
documentonkeypress=doKey;
//禁止后退键 作用于IE、Chrome
documentonkeydown=doKey;
</script>
需要监听具体事件
列如 页面单击事件 单击不同元素 显示出HTML标签的名称(大写)
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text">
<button>ok</button>
<div style="height: 100px;weight:100px;background: orange"></div>
</body>
<script type="text/javascript">
windowaddEventListener('click',function () {
alert(eventsrcElementnodeName);
})
</script>
</html>
事件源对象
eventsrcElementtagName(documentgetElementsByTagName)
eventsrcElementtype
捕获释放
eventsrcElementsetCapture();
eventsrcElementreleaseCapture();
事件按键
eventkeyCode
eventshiftKey
eventaltKey
eventctrlKey
事件返回值
eventreturnValue
鼠标位置
eventx
eventy
窗体活动元素
documentactiveElement
绑定事件
documentcaptureEvents(EventKEYDOWN);
访问窗体元素
documentall("txt")focus();
documentall("txt")select();
窗体命令
documentexecCommand
窗体COOKIE
documentcookie
菜单事件
documentoncontextmenu
创建元素
documentcreateElement("SPAN");
根据鼠标获得元素:
documentelementFromPoint(eventx,eventy)tagName=="TD
documentelementFromPoint(eventx,eventy)appendChild(ms)
窗体
documentimages[索引]
窗体事件绑定
documentonmousedown=scrollwindow;
元素
document窗体elements[索引]
对象绑定事件
documentallxxxdetachEvent('onclick',a);
插件数目
navigatorplugins
取变量类型
typeof($js_libpath) == "undefined"
下拉框
下拉框options[索引]
下拉框optionslength
查找对象
documentgetElementsByName("r1");
documentgetElementById(id);
定时
timer=setInterval('scrollwindow()',delay);
clearInterval(timer);
UNCODE编码
escape() ,unescape
父对象
objparentElement(dhtml)
objparentNode(dom)
交换表的行
TableIDmoveRow(2,1)
替换CSS
documentallcssshref = "acss";
并排显示
display:inline
隐藏焦点
hidefocus=true
根据宽度换行
style="word-break:break-all"
自动刷新
<meta >
- pop 删除数组最后一项
- push 添加到数组最后一项
- shift 删除数组的第一项
- unshift 添加到数组的第一项
- splice 可以添加或者删除数组指定位置的内容
- reverse 可以反转数组
- sort 可以排序数组
var arr = [1,2,4,3];
arrsort(function(a,b){
return a-b;
})
- concat:把2个或者多个数组连接成一个数组
- join : 可以数组通过指定的字符连接成字符串
- indexOf :查找元素再数组中的索引 , 如果没有找到 那么就会返还-1
- 如果前一项大于后一项的值,那么就把前一项和后一项 互换位置 ,重复这个过程来进行排序
- 找到最小值索引,记录最小值的索引 ,把最小值索引的值和假设的最小值 进行互换 *** 作 ,重复这样的过程,然后排序;
- 简单数据类型会传值
- 以值的形式存在栈里
- 复杂数据类型会传址
- 以址存在栈里
- 值实际上在堆里
- 传址会造成互相引用 (互相影响);
- 如何解决传址问题(互相影响问题)
- 字符串的方法 replace : 替换指定字符;
- 在循环的时候改变了原本数组的长度
- 就是把 i--
var arr = ["a","b","c","d"];
arrsplice(1,arrlength-1);
consolelog(arr);
for(var i=0;i<arrlength;i++){
arrsplice(i,1);
// consolelog(arr);
i--
}
consolelog(arr);
- JSONstringify() : 把对象转换成json字符串
- JSONparse(): 把json字符串转成对象
- JSONparse(JSONstringify(对象)) :得到一个新的对象
- 缺点 会忽略一些属性 ,undefined function
- 递归深拷贝
var obj1 = {
name: "张三",
age: 20,
a:undefined,
fn:function(){
consolelog("fn");
},
hobby:{
one:"篮球",
fn1:function(){
consolelog(111);
}
}
}
// 可以通过JSONstringify 和 JSONparse 来做深拷贝
// 1JSONstringify 可以把对象转成一个json字符串
// 2JSONparse 可以把js字符串转成对象
// consolelog("旧对象",obj1);
// var res = JSONstringify(obj1); // obj1 对象转成字符串
// consolelog(res);
// var newObj = JSONparse(res); // 把字符串转成对象
// consolelog("新的对象",newObj);
//JSON: 会忽略某些属性 ,比如 undefined function
var obj = JSONparse(JSONstringify(obj1));
// var obj = obj1;
// objname = "李四";
consolelog("obj的值是json转的:",obj)
consolelog("obj1的值是之前的",obj1);
- js内置的一个对象
- 全局this对象 就是window
- 函数内的this对象
- 不要关注this的定义,需要关注this的调用
- 函数直接调用
```js
function fn(){ consolelog(this) }; fn() ;// this指向window
```
- 通过事件来调用
```js
btnonclick = function(){
consolelog(this) // this会执行事件源
}
```
- 对象里的函数调用
- 直接通过对象来调用
```js
var obj = {
name:"张三",
fn:function(){
consolelog(this);
}
}
objfn(); // this就指向调用的对象
```
- 通过变量保存函数来调用
```js
var obj = {
name:"张三",
fn:function(){
consolelog(this);
}
}
var myfn = objfn;
myfn(); // this就指向window
```
- 如何开启 `use strict`
- 开启严格模式之后 js 语法变得更加严谨
- 字符串比较
- 字面量
- 内置构造函数
- 包装对象
- charAt
- charCodeAt
- indexOf
- substring :截取字符串 (包前不包后)
- substr: 截取字符串 (参数一:开始截取的字符索引位置 ,参数二:是要截取的个数)
- toLowerCase : 字母转小写
- toUpcase() : 字母转大写
- split : 根据对象的字符把字符串切割成数组
- replace:替换指定的字符
- 数组方法(function(item,key,arr){ item: 键值 key:键名 arr:原数组 })
- forEach
- map 需要return ; 重新复制一个数组
- filter :把返还函数里符合条件的内容过滤出来
- some : 返还函数的结果只要有一个满足条件那么结果就会是true ,否则就是false
- every: 返还函数的结果 都为true every的结果就是true ,否则就是false
- 时间对象 :js提供一个内置 *** 作时间的对象
- new Date(): 注意 本电脑的时间
- 传入对应的年月日的参数 ; 注意:月是0-11月来算的;
```js
new Date("2020","3","1") //
```
- 传入一个字符串; 注意 月是 1-12月
```js
new Date("2020-1-1 11:1:1");
```
- 获取年 getFullYear();
- 获取月 getMonth(); // 注意: 获取的0-11 个月份
- 获取日 getDate();
- 获取星期 getDay();
- 获取时 getHours();
- 获取份 getMinutes();
- 获取秒 getSeconds();
以上就是关于js怎么使用backspace全部的内容,包括:js怎么使用backspace、怎么用js得到事件源的的某一个标签、怎么获取触发事件的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)