jQuery 开发之jQuery事件一

1,DOM加载

$(document).ready() 和window.onload()的区别。他们虽然功能相似,但是执行时机方面是有区别的。 window.onload() 方法是在网页中所有的元素(包括元素的关联文件)完全加载到浏览器后才执行。此时JavaScript可以访问网页中的任何元素。而通过jQuery 中的$(document).ready() 方法注册的时间处理程序,在DOM完全就绪时就可以被调用。此时网页中的所有元素对jQuery而言都可以被访问 的,但是这并不意味着这些元素的关联的文件都已经下载完毕。要解决这个问题,可以使用jQuery中另一个页面加载方法load()方法,load()方法会在元素的onload()事件中绑定一个处理函数,如果处理函数绑定给window 对象,则会在所有内容(包括窗口,框架,对象和图片)加载完毕后触发。如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。

2,事件绑定

在文档加载完成后,如果打算为元素绑定事件来完成某些操作,则可以使用bind()方法来匹配元素进行特定事件的绑定,bind()方法的格式如下:

bind(type [, data],fn);

参数说明如下:

第1个参数是事件类型,事件类型包括:blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup,mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, error等,当然了也可以用自定义的类型。

第2个参数为可选参数,作为event.data 属性值传递给事件对象的额外数据对象。

第3个对象则是用来绑定的处理函数。

示例代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>jQuery test </title>
<script type ="text/javascript" src ="jquery.js" ></script>

<script type ="text/javascript">
$(document).ready(function(){

    $("p").bind("click",function(){

    var content = "<div id =‘content‘>今天晚上吃粽子!!!</div>";
    $("body").append(content);
    $(this).next().show();
    });

});

</script>
</head>
<body>

<p>今天晚上要吃啥?</p>
</body>
</html>

运行结果如下:

简写绑定事件代码示例如下:

停止事件冒泡

停止事件冒泡可以阻止事件中其他对象的事件处理函数被执行。在jQuery中提供了stopPropagation()方法来停止事件冒泡。

jQuery示例代码如下:

$("span").bind("click",function(event){

//do something
event.stopPropagation();
})

阻止默认行为

在网页中的元素有自己的默认行为,例如,单击超链接后会跳转,单击提交按钮后表单会提交,有时需要阻止元素的默认行为。

在jQuery中preventDefault() 方法可以阻止元素的默认行为

jQuery 示例代码如下:

$("#submit").bind("click",function(event){

//do something
event.preventDefault();
})

如果想同时对事件对象停止冒泡和默认行为,可以在事件处理函数中返回false。在表单的例子中,可以把

event.preventDefault() //阻止默认行为

改为 return false;

也可以把事件冒泡例子中的

event.stopPropagation() //停止事件冒泡

改为 return false;

2,事件对象的属性

(1)event.type

该方法的作用是获取事件的类型。

(2)event.preventDefault()

该方法的作用是阻止元素的默认方法

(3)event.stopPropagation()

该方法的作用是阻止事件冒泡

(4)event.target

该方法的作用是获取触发事件的元素。

(5)event.relatedTarget

该方法的作用是获取 触发事件的相关元素。

(6) event.pageX 和event.pageY

该方法的作用是获取光标相对于页面x坐标和y坐标

(7) event.which

该方法的作用是获取在鼠标点击事件中获取到鼠标的左,中,右键,在键盘事件中获取键盘的按键。

获取鼠标的左,中,右键的jQuery示例代码如下:

$("a").mousedown(function(event){

alert(event.which);    //1 =鼠标左键, 2=鼠标中键    3=鼠标右键
})

获取键盘按键的jQuery示例代码如下:

$("input").keyup(function(event){
alert(event.which);  //获取键盘的按键
})

3,移除事件

首先在网页上添加一个移除事件的按钮

<button id ="delAll">删除事件</button>

移除事件的jQuery示例代码如下:

$("#delAll").click(function(event){
$("btn").unbind("click");

})

unbind()方法的语法结构人如下:

unbind([type],data)

第一个参数是事件类型,第二个是要移除的处理函数,具体说明如下:

(1)如果没有参数则删除所有绑定的事件。

(2)如果提供了事件类型作为参数,则只删除该类型的绑定事件

(3)如果把在绑定时的处理函数作为第二个参数,那么只有特定事件的处理函数会被删除。

另外,对于只需触发一次,随后要立即解除绑定的情况,jQuery提供了一种简单的方法 one()方法。 one()方法可以为元素绑定处理函数。当处理函数被触发一次后,立即删除。即在每一个对象上,处理函数只执行一次。

one()语法格式如下:

one(type[,data],fn)

jQuery示例代码执行如下:


$("#test").one("click",function(){
//do something
})
时间: 2024-11-09 02:54:53

jQuery 开发之jQuery事件一的相关文章

jQuery 开发之jQuery事件二

1,模拟操作 (1)常用模拟 在jQuery中可以用trigger() 方法来实现模拟操作.例如可以是用下面的代码来实现btn的click事件, $("#btn").trigger("click"); 也可以直接用简化写法click()方法来实现.示例代码如下: $("#btn").click(); (2) 触发自定义事件 trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件. jQuery示例代码如下: $

jquery开发之jQuery对象和DOM对象的相互转换

如果获取的对象是jQuery对象,那么在变量前加上$,如下: var $variable = jQuery 对象 如果获取的是DOM对象,定义如下: var variable = DOM对象 1,jQuery对象转换成DOM对象 jQuery 提供了两种方法将一个jQuery对象转换为DOM对象,即[index] 和get(index) (1) jQuery 对象是一个类似数组的对象,可以通过[index] 的方法得到相应的DOM对象.jQuery 代码如下: var $cr = $("#cr&

HTML5+JS手机web开发之jQuery Mobile初涉

一.起始之语 我一直都是在PC上折腾网页的,这会儿怎么风向周边捣鼓起手机网页开发呢?原因是公司原先使用Java开发的产品,耗了不少人力财力,但是最后的效果却不怎么好.因为,Android系统一套东西,iPhone又是新的一套,折腾死人呐. 于是总监发狠,让我把手上的活都交出去,专心折腾web版的,看看最后效果如何. 加上我觊觎手机上的开发学习很久了,于是,一拍即合,搞起了手机开发方面的学习. 分享是很好的提高自身学习的方法.因为分享过程中梳理了所学,往往会有些意想不到的心得与收获.如此利人利已的

Android开发之onClick事件的两种主要形式

第一种也是最常用的形式:通过为onClick事件添加监听器,来激发当按钮被单击时应该处理的事件.如: btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "" + "通过为onClick()事件添加监听器的方式&quo

jQuery开发之Ajax

1,load()方法 (1)load()方法是jQuery中最常用和最简单的Ajax方法,能载入远程HTML代码,并插入代码中.它的结构为: load(url [,data] [,callback]) load()方法解释如下表所示 示例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> &

Hybrid App开发之jQuery基础

前言: 前面学习了JavaScript/Html/Css的基础知识,今天学习一下常用js框架jQuery的使用进行快速的开发. JQuery的基本功能: 方位和操作DOM元素 控制页面样式 对页面事件的处理 大量插件在页面中的运用 与ajax技术的完美结合 首先先编写一个jquery程序 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <

Hybrid App开发之jQuery选择器

前言: 前面学习了JQuery的简单使用,今天进一步学习一下JQuery的选择器. 什么是选择器? JQuery选择器通过标签名.属性名或者内容对DOM元素进行快速准确的选择,而不必担心浏览器的兼容性,通过JQuery选择器对页面元素精确定位,进而方便完成处理元素属性和行为事件. 选择器的优势 与传统的JavaScript获取页面元素和事务处理相比,JQuery具备以下几个优势: 代码比较简单 完善的检测机制 1.)代码更简单 在JQuery库中封装了大量可以通过选择器直接调用的函数,使编程更加

jQuery开发之DOM操作二

接上篇文章 3,插入节点 插入节点的方法如下图: 4,删除节点 (1) remove()方法 作用是从DOM中删除所有匹配的元素.示例代码如下: var $li =$("ul li:eq(1)").remove(); //获取第二个<li>节点后,将它从网页中删除. 注意:当某个节点用remove()删除后,该节点包含的所有后代节点将同时被删除.这个方法的返回值是一个指向被删除节点的引用,因此可以在以后继续使用这些元素. (2) detach()方法 detach() 和r

前端开发之jQuery库的引用

使用jquery开发的时候,如果我们不想使用自己的jquery文件,那么可以引用现成的地址.方便日常开发使用 jquery-2.0以上版本 (注!不再支持IE 6/7/8) jquery-2.0.0百度引用地址 (推荐目前最稳定的,不会出现延时打不开情况) 支持的版本: 2.0.3, 2.0.2, 2.0.1, 请根据所需要的版本 修改对应(红色字为当前版本)的地址: jquery/2.0.0/jquery.min.js 百度压缩版引用地址: <script src="http://lib