整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Javascript应用-js事件的on与bind

Javascript应用-js事件的on与bind

、js事件的三种方式:

1.只是简单地绑定一个事件可以直接写在行内,点击执行一个函数,例如 <button onclick="alert('点我啊!')">点我啊</button>

2.也可以设置一个id 例如<button id="btn">点我啊</button><br>

$('#btn').click(function(){

})

3.还可以写成这种格式,点击执行函数,但是函数写在外面,例如 btn1.onclick=demo; function demo(){ alert('打你干吗?'); }

其实以上三种本质应该是一种,只是形式不一样

二、对于多事件的绑定,常用的就是on() 和 bind(),介绍一下它们的区别:

on的基本语法:on(events,[selector],[data],fn)

events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。

selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择器为null或省略,当它到达选定的元素,事件总是触发。

data:当一个事件(events)被触发时要传递event.data(事件的属性或数据)给事件处理函数(fn)。

fn:该事件被触发时执行的事件函数。 false 值也可以做一个函数的简写,返回false。

注:如果只是一个简单的事件绑定如 $('button').on('click',function(){}); 与bind()无二样,与以上的几种方式也没有太多的区别

三、多个事件绑定到一个函数,或多个事件绑定到多个函数,就需要用到on了:

多个事件一个函数:

$(document).ready(function(){

$("p").on("mouseover mouseout",function(){

alert("多个事件一个函数");

});

});

多个事件绑定不同的函数

$(document).ready(function(){

$("p").on({

mouseover:function(){$("body").css("background-color","lightgray");}

mouseout:function(){$("body").css("background-color","lightblue");},

click:function(){$("body").css("background-color","yellow");}

});

});

on的第二个参数可以阻止一些情况下的冒泡,原理简单说就是用选择器来精确到匹配到你想执行函数的那个元素,而bind()就没有这个参数,因此在使用bind()时很可能产生冒泡。

、目录

  • HTML 基本概念
  • HTML 基本结构
  • HTML 基本标签

二、HTML基本概念

2.1、什么是 HTML

  • 超文本标记语言(Hyper Text Markup Language)
  • 描述网页的语言
  • 传输最简单的文本内容
  • 可以表达文字内容之外的语言——HTML1.0

2.2、HTML的发展

  • html1.0—-xhtml1.0( 过渡 )—-xhtml2.0( 放弃 )——html5

三、HTML基本结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

四、HTML基本标签

4.1、标签和属性

  • 双标签:<标签名称></标签名称>
  • 单标签:<标签名 />

4.2、标签的属性

  • 基本格式:<标签名 属性1=“值1” 属性2=“值2”></标签名>
    • 标签可以拥有多个属性
    • 属性必须写在开始标签中,位于标签名后面
    • 属性之间不区分顺序
    • 标签与属性之间、属性与属性之间用空格隔开
    • 每个属性都有默认值,省略属性则表示使用默认值

4.2、HTML全局属性

  • class:规定元素的类名
  • id:规定元素唯一的id
  • lang:设置元素中内容的语言代码
  • style:规定元素的行内样式
  • title:规定元素的额外信息

五、HTML事件

5.1、HTML事件—窗口事件

  • 使用HTML事件触发浏览器中的行为,比如启动某一段JavaScript
  • 使用于body标签中
    • onblur:当窗口失去焦点时运行脚本
    • onfocus:当窗口获得焦点时运行脚本
    • onload:当加载文档时运行脚本

5.2、HTML事件—表单事件

  • form
    • onblur:当窗口失去焦点时运行脚本
    • onchange:当元素改变时运行脚本
    • onfocus:当窗口获得焦点时运行脚本
    • onreset:当表单重置时运行脚本,HTML5不支持
    • onselect:当选取元素时运行脚本
    • onsubmit:当提交表单时运行脚本

5.3、HTML事件—键盘事件

  • 键盘事件
    • onkeydown:当按下键时运行脚本
    • onkeypress:当按下并松开键时运行脚本
    • onkeyup:当松开键时运行脚本

5.4、HTML事件—鼠标事件

  • 鼠标事件
    • onclick:当单击鼠标时运行脚本
    • ondblclick:当双击鼠标时运行脚本
    • onmousedown:当按下鼠标时运行脚本
    • onmousemove:当鼠标指针移动时运行脚本
    • onmouseout:当鼠标指针移出元素时运行脚本
    • onmouseover:当鼠标指针移至元素之上时运行脚本
    • onmouseup:当松开鼠标按钮时运行脚本

5.5、HTML事件—多媒体事件

  • 多媒体事件
    • onabort:当发生中止事件时运行脚本

六、标签

6.1、注释标签

  • 标签: < !-- 注释内容 -- >
  • 作用:在源文档中插入注释。注释不会在浏览器中显示

6.2、文档标题标签

  • 标签:
  • 作用:
    • 定义浏览器工具栏中的标题
    • 提供页面被收藏时的标题
    • 显示在搜索引擎中显示的页面标题

6.3、标题标签

  • 标签:

  • 作用:
    • 用来定义HTML的标题
    • 用例定义最高等级的标题
    • 用例定义最低等级的标题
  • 属性:全局属性、事件属性

6.4、段落标签

  • 标签:
  • 作用:定义段落
  • 属性:全局属性,事件属性

6.5、容器标签1

  • 标签:
  • 作用:对行内元素进行组合,提供了一种将文本或文档的一部分独立出来的方式
  • 属性:全局属性、事件属性

6.7、容器标签2

  • 标签:
  • 作用:
    • 定义了HTML文档中一个分隔区块或一个区域部分
    • 经常与CSS一起使用,用于定义网页布局
  • 属性:全局属性、事件属性

6.8、图像标签

  • 标签:
  • 作用:定义HTML页面中的图像
  • 属性:
    • src:定义显示图像的URL(必选)
    • alt:定义图像的替代文本(必选)
    • title:鼠标悬停图像时显示的文本
    • width:图像的宽度
    • height:图像的高度
    • border:设置图像边框的宽度

6.9、超链接标签

  • 标签:
  • 定义超链接,从一个页面链接到另一个页面
  • 属性:全局属性、事件属性
    • href:规定链接的目标URL

6.10、列表标签

  • 标签:
<ul>
<li></li>
<li></li>
</ul>
  • 作用:
    • 定义无序列表
      * <ul>与<li>一起使用,创建无序列表
  • 属性:全局属性、事件属性

6.11、列表标签 - 有序列表

  • 标签:<ol><li>...</li><li>...</li></ol>
  • 作用:
    • 定义了一个有序列表,列表排序以数字来显示
    • 使用
    • 标签来定义列表选项
  • 属性:全局属性、事件属性

5.12、表格标签

  • 标签:
    • 表格:<table></table>
    • 行:<tr></tr>
    • 单元格:<td></td>
  • 作用:定义表格
  • 属性:全局属性、事件属性
    • border:定义表格是否有边框

6.13、表单域

  • 标签:<form></form>
  • 创建用户输入的HTML表单
  • 属性:全局属性、事件属性
    • action:指定接收并处理表单信息的服务器URL地址
    • method:表单数据提交的方式
    • name:指定表单的名称

6.14、表单标签

  • 标签:
  • 作用:定义了用户可以在其中输入的字段,输入字段可以通过多种方式改变,取决于type的属性
  • 属性、全局属性、事件属性
    • type:规定要显示input标签的元素的类型
      • text:单行文本(不可换行)
      • password:密码输入框
      • radio:单选框(配合name可以实现单选效果)
      • checkbox:复选框
      • button:普通按钮
      • submit:提交按钮
      • reset:重置按钮
      • image:图像形式的提交按钮
      • file:文件域,点击之后打开文件选择器
    • name:控件名称,name相同则表示为同一组数据
    • value:指定input元素的值
    • size:显示大小
    • checked:是否被选中
    • maxlength:控制输入的最大字符长度

6.15、文本标签

  • 标签:
  • 定义一个多行的文本输入控件
  • 属性:全局属性、事件属性
    • cols:规定文本区域内可见的宽度
    • disabled:规定禁用文本区域
    • name:规定文本区域的名称
    • readonly:规定文本区域为只读
    • rows:规定文本区域内可见的行
    • placeholder:规定一个简短的提示,描述文本区域内期望的输入值

6.16、下拉菜单

  • 标签:…
  • 作用:
    • 用来创建下拉列表
    • 中的标签定义了列表中的可用选项
  • 属性:全局属性、事件属性
    • isabled:当属性为true时,会禁用下拉列表
    • multiple:当属性为true时,可选择多个选项
    • name:定义下拉列表的名称
    • size:规定下拉列表中可见选项的数目

霍格沃兹的测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供 1v1 私教指导,BAT 级别的测试管理大咖量身打造职业规划。

lt;!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>JavaScript:window对象常用方法和事件</title>

<script type="text/javascript">

//方法=============================

window.onload=function () {//匿名方法

this.open_fix_adv();

}

//window对象的方法,因为window对象为全局对象,所以可以省略window

window.setTimeout(function () {

console.dir("5s以后输出");

}, 5000);

window.setInterval(function () {

console.dir("每隔2s输出一次");

}, 2000);

function open_adv() {

window.open("../html/01.html");

}

function open_fix_adv() {

window.open("../html/01.html", "", "height=380,width=320,left=800,top=200,toolbar=0,

scrollbars=0,location=0, status=0,menubar=0,resizable=0");

}

function fullscreen() {

window.open("../html/01.html", "", "fullscreen=1");

}

function close_adv() {

window.close();

}

//确认框

function confirm_msg() {

var flag=window.confirm("are u sure?");

console.dir(flag);

}

//事件=============================

function getonChangeVal() {

var name=document.getElementById("username").value;

var x=document.getElementsByName('username');

console.dir(x[0].value);

console.dir(name);

}

function getonKeyDown() {

var x=document.getElementById("age").value;

console.dir(x);

}

function getonMouseOver() {

console.dir('onmouseover');

}

function printStr() {

console.dir("onload事件");

}

</script>

</head>

<body style="text-align: center;" onload="printStr()">

<input type="button" name="open1" onclick="open_adv()" value="弹出窗口"/>

<br/><br/>

<input type="button" name="open1" onclick="open_fix_adv()" value="弹出固定大小窗口,且无菜单栏等"/>

<br/><br/>

<input type="button" name="open1" onclick="confirm_msg()" value="确认窗口"/>

<br/><br/>

<input type="button" name="open1" onclick="fullscreen()" value="全屏展示"/>

<br/><br/>

<input type="button" name="open1" onclick="close_adv()" value="关闭窗口"/>

<br/><br/>

<input type="text" name="username" id="username" onchange="getonChangeVal()" value="jack"/>

<br/><br/>

<input type="text" name="age" id="age" onkeydown="getonKeyDown()" value="10"/>

<br/><br/>

<p onmousedown="getonMouseOver()">鼠标移到某元素之上</p>

</body>

</html>