javascript与事件
javascript与事件
js常用事件
- js捕捉回车键
- js回调函数的event参数(一直都有传,就看你有没有接,有没有接的需求)
- event.keyCode(事件句柄:onkeydown)
- keyup事件
js回调函数概念
- 某事件发生时,执行某函数
js代码的执行顺序
- 注意加载元素与对元素进行操作的前后关系
js运算符
void运算符
<a href="javascript:void(0)" onclick="window.alert('test code')" />
//既保存超链接样式,点击之后执行一段js代码,同时又不能完成页面跳转
//void(表达式)执行表达式,但是不返回任何结果
js控制语句
常见控制语句
js特殊的控制语句
for...in...
with语句
<script type="text/javascript"> //js for..in..的两个使用场景 //场景一:对象
alert("场景1:对象");
function User(username, password) {
this.username = username;
this.password = password;
} var user = new User("xun", "just a test"); for(var value in user){
alert(typeof value);
alert(value);
alert(user[value]);
} //场景二:数组
alert("场景2:数组");
var arry = [false, true, 3.14, "test"];
for(var index in arry){
alert(typeof index);
alert(index);
alert(arry[index]);
} //js with(带上)语句
with(user){
alert(username + "," + password);
//相当于:alert(user.username + "," + user.password)
}
</script>
js内置数组对象Array
- 对数组越界问题做了内部处理,未定义的为undefined
- 常用方法
<!DOCTYPE html>
<html lang="en">
<head>
<title>js内置数组对象</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//js内置数组对象Array
var array1 = new Array();
alert(array1.length);
var array2 = new Array(3);
alert(array2.length);
var array3 = new Array(2, 3);
alert(array3.length);
//常用:var array = [];
//特点:自动扩容
//内置数组对象常用方法
var array4 = array3.reverse(); //数组3自身元素也发生了反转
alert("array3: " + array3.join("-"));
alert("array4: " + array4.join("-"));
//js内置数组对象可以模拟数据栈
array3.push(1);
alert("array3: " + array3.join("-"));
var lastElt = array3.pop();
alert("last element: " + lastElt);
</script>
</body>
</html>
js的BOM编程
window.open 与window.close
- window.open(url, 新窗口打开位置)
- window.close()关闭当前窗口
window.confirm()确认框
- 确定,返回true
- 取消,返回false
window.history.
- window.history.go(1/-1)前进/后退
- window.history.back()后退
window.location.href 或者 document.location.href (href可以去掉)
设置当前窗口为顶级窗口
if(window.top != window.self){
window.top.location = window.self.location
}
图解BOM与DOM

JSON
- eval函数
<!DOCTYPE html>
<html lang="en">
<head>
<title>eval函数</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var jsonData = "{\"username\":\"zhangsan\", \"password\":\"123\"}";
window.eval("var jsonObj = " + jsonData);
alert(jsonObj.username + "," + jsonObj.password);
</script>
</body>
</html>
javascript与事件的更多相关文章
- jQuery $(document).ready()和JavaScript onload事件
jQuery $(document).ready()和JavaScript onload事件 Why we need a right time? 对元素的操作和事件的绑定需要等待一个合适的时机,可以看 ...
- Javascript事件模型系列(四)我所理解的javascript自定义事件
被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一 ...
- javascript通用事件封装
随着最近几年Html5的兴起,越来越多的应用采用html5进行实现,一个优秀的网页应用不但需要美观简洁的UI界面,更需要一个良好的交互.网页应用大部分的交互需要用javascript事件进行实现.虽然 ...
- javascript的事件
前戏 今天在博客中看到了javascript的事件机制,就自己试试写一个简单的冒泡捕获测试,但是测试结果出乎了我的意料,主要是自己原来对事件了解不是很清楚,现在写篇博客记录下. 基础 先来看一下我在A ...
- javascript对象事件绑定方法
javascript对象事件绑定方法 今天在做对象事件绑定的过程中出现了一点异外情况,由于事件方法是由参数传过来的,需要将当前对象call过去,方便方法体里直接调用this 错误写法 obj.oncl ...
- JavaScript的事件代理(转)
如果你想给网页添加点JavaScript的交互性,也许你已经听过JavaScript的事件代理(event delegation),并且觉得这是那些发烧友级别的JavaScript程序员才会关心的什么 ...
- [转]javascript指定事件处理程序包括三种方式:
javascript指定事件处理程序包括三种方式: (1):DOM0级事件处理程序 如: 代码如下: var btn=document.getElementById("mybtn" ...
- JavaScript中事件绑定的方法总结
最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看. JavaScript中绑定事件的方法主要有三种: 1 在DOM元素中直接绑定 2 JavaScr ...
- JavaScript的事件监听、捕获和冒泡
在前端开发中,我们经常需要对某些事件进行监听.这样只要在指定的元素上触发了该事件,就会执行一个回调函数来进行相关的操作. 而JavaScript中事件监听的方法总共有三种,分别如下: element. ...
- JavaScript 计时事件
JavaScript 计时事件 通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.我们称之为计时事件. 在 JavaScritp 中使用计 ...
随机推荐
- QT快速入门
QT快速入门 本文档将介绍QT工程的创建.UI界面布局,并以计数器为例了解QT中多线程的用法,最终完成一个基础的QT项目. 1 创建QT工程文件 在安装好QT之后,能够在其安装组件中找到Qt Crea ...
- 【面试普通人VS高手】Spring 中Bean的作用域有哪些?
一个工作3年的小伙子,去面试被问到Spring里面的问题. 这个问题比较简单,但是他却没有回答上来. 虽然他可以通过搜索引擎找到答案,但是如果没有理解,下次面试还是不会! 这个面试题是: " ...
- python入门基础知识二(字符串的常用操作方法)
下标/索引: a = "I'm interested in Python." print(a[4]) i # 英文的字符串每一个下标/索引对应一个字母(含标点) a = '我喜欢p ...
- 【算法】冒泡排序(Bubble Sort)(一)
冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是 ...
- 安装Siege到Linux(源码)
运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:siege-4.0.4 硬件要求:无 安装过程 1.安装依赖 [root@localhost ~ ...
- [python][flask] Flask 图片上传与下载例子(支持漂亮的拖拽上传)
目录 1.效果预览 2.新增逻辑概览 3.tuchuang.py 逻辑介绍 3.1 图片上传 3.2 图片合法检查 3.3 图片下载 4.__init__.py 逻辑介绍 5.upload.html ...
- 分布式机器学习:PageRank算法的并行化实现(PySpark)
1. PageRank的两种串行迭代求解算法 我们在博客<数值分析:幂迭代和PageRank算法(Numpy实现)>算法中提到过用幂法求解PageRank. 给定有向图 我们可以写出其马尔 ...
- 开源流程引擎该如何选择flowable还是camunda
市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.现在国内用的最多的是activiti.flowable.camunda,下面主要从功能 ...
- ssh打通
打通ssh https://www.cnblogs.com/yolanda-lee/p/4975453.html
- 2.NoSQL之Redis配置与优化
一.关系型数据库与非关系数据库 关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录. sQL语句(标准数据查询语言)就是一种基于关系型数据库的语言, ...