JQuery中的常用事件、对象属性与使用方法分析

本文实例讲述了JQuery中的常用事件、对象属性与使用方法。分享给大家供大家参考,具体如下:

JQuery中的常用事件


.click()


鼠标单击触发事件,参数可选(data,function)


.dblclick()


双击触发,同上


.mousedown()/up()


鼠标按下/弹起触发事件


.mousemove()


鼠标移动事件


.mouseover()/out()


鼠标移入/移出触发事件


.mouseenter()/leave()


鼠标进入/离开触发事件*


.hover(func1,func2)


鼠标移入调用func1函数,移出调用func2函数


.focusin()


鼠标聚焦到该元素时触发事件


.focusout()


鼠标失去焦点时触发事件


. focus()/.blur()


鼠标聚焦/失去焦点触发事件(不支持冒泡)


.change()


表单元素发生改变时触发事件


.select()


文本元素被选中时触发事件


.submit()


表单提交动作触发*


.keydown()/up()


键盘按键按下/弹起触发


.on()


多事件的绑定


.off()


移除事件的绑定


.trigger(“event”)


触发事件event调用


.triggerHandler()


触发事件,不会冒泡,不会触发默认事件

注:

1、以上事件函数有三种用法:

//直接绑定事件到元素上
$('.target1').keydown(function(e) {
  $("em:first").text(e.target.value)  //通过对象e获取输入的值
});
//传递参数调用函数处理
$("#test").click(11111,function(e) {
  //this指向 div元素
  //e.data => 11111 通过e传递参数数据
});
//手动触发已绑定的点击事件
$elem.click()

2、mouseover与mouseenter区别:不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件,称作支持冒泡处理,冒泡处理指子元素与父元素共同定义的事件,在触发子元素时,或者没有定义子元素,事件就会向父级传播,引发父级事件触发。只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。

3、form元素是有默认提交表单的行为,如果通过submit处理的话,需要禁止浏览器的这个默认行为。传统的方式是调用事件对象  e.preventDefault() 来处理, jQuery中可以直接在函数中最后结尾return false即可。

  //回车键或者点击提交表单后禁止浏览器默认跳转:
  $('#target2').submit(function() {
    alert('捕获提交表达动作,阻止页面跳转')
    return false;
  });

4、on()使用

基本用法:.on( events ,[ selector ] ,[ data ] )

最常见的给元素绑定一个点击事件,对比一下快捷方式与on方式的不同

$("#elem").click(function(){}) //快捷方式
$("#elem").on('click',function(){}) //on方式
//多个事件绑定同一个函数,通过空格分离,传递不同的事件名,可以同时绑定多个事件
$("#elem").on("mouseover mouseout",function(){ });
//多个事件绑定不同函数
$("#elem").on({
  mouseover:function(){},
  mouseout:function(){}
});
//将数据传递到处理程序
$( "button" ).on( "click", {  //第二个参数传递数据给函数调用
 name: "Mr.Tory"
}, greet );
function greet( event ) {
 alert( "Hello " + event.data.name ); //输出Hello Mr.Tory
}

事件对象的属性与方法


.type


事件类型.如果使用一个事件处理函数来处理多个事件, 可以使用此属性获得事件类型,比如click


.data


事件调用时传入额外参数


.target


触发该事件的 DOM 元素


.which


指示按了哪个键或按钮


.timeStamp


该属性返回从 1970 年 1 月 1 日到事件发生时的毫秒数


.pageX/Y


相对于文档左/上边缘的鼠标位置


.result


上一个相同事件处理器函数返回的值


.preventDefalut()


阻止事件的默认动作


.stopPropagation()


取消事件冒泡

$("#content").click(function(event) {
  $("#msg").html("<p>外层div元素被单击</p>");
  event.stopPropagation();             //通过event方法阻止事件冒泡
});

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具 http://tools.jb51.net/code/HtmlJsRun 测试上述代码运行效果。

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery操作json数据技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

(0)

相关推荐

  • jquery获取自定义属性(attr和prop)实例介绍

    $("form").attr("check"); $("form").prop("check"); 两种都可以,不过新版jquery推荐第二种,两个在其他方面都差不多,我发现的唯一不同就是在checkbox上的时候,需要用prop,不然IE浏览器会不兼容 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&

  • 从零开始学习jQuery (四) jQuery中操作元素的属性与样式

    一.摘要 本篇文章讲解如何使用jQuery获取和操作元素的属性和CSS样式. 其中DOM属性和元素属性的区分值得大家学习. 二.前言 通过前面几章我们已经能够完全控制jQuery包装集了, 无论是通过选择器选取对象, 或者从包装集中删除,过滤元素. 本章将讲解如何使用jQuery获取和修改元素属性和样式. 三. 区分DOM属性和元素属性 一个img标签: <img src="images/image.1.jpg" id="hibiscus" alt="

  • JQuery样式与属性设置方法分析

    本文实例讲述了JQuery样式与属性设置方法.分享给大家供大家参考,具体如下: Jquery属性的获取与设置 //找到第一个input,通过attr设置属性value的值 $("input:first").attr('value','新设值'); //同时为多个属性赋值 $("input:first").attr({'attr1':'v1','attr2':'v2'...}); //找到最后一个input,通过使用removeAttr删除属性 $("inp

  • Jquery属性的获取/设置及样式添加/删除操作技巧分析

    本文实例讲述了Jquery属性的获取/设置及样式添加/删除操作技巧.分享给大家供大家参考,具体如下: Jquery属性的获取与设置 //找到第一个input,通过attr设置属性value的值 $("input:first").attr('value','新设值'); //同时为多个属性赋值 $("input:first").attr({'attr1':'v1','attr2':'v2'...}); //找到最后一个input,通过使用removeAttr删除属性

  • 基于jquery animate操作css样式属性小结

    昨天突然有网友问我animate()方法可以来操作所有css属性吗?是的,我告诉他可以的.不过,在此有需要注意点需要大家搞清楚:当使用 animate()时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight而不是 margin-right,等等. css中的不是所有属性都可以用Jquery动画(animate函数)来动态改变,下面总结了JQ可以操作元素的一些属性: * backgroundPosi

  • jQuery修改class属性和CSS样式整理

    class属性修改 类属性即class属性,规定类名. 用类选择器规定样式的时候,需要为元素指定类名,即class属性的值. 注意每个HTML元素只有一个class属性.但是class属性的值可以是多个名称,即可能包含一个词的列表,中间用空格分隔. 具体使用方法见:http://www.w3school.com.cn/css/css_selector_class.asp   用jQuery进行类名修改既可以用attr()方法修改"class"属性,也可以用addClass(), rem

  • 详解jQuery设置内容和属性

    一.设置内容以及回调函数 方法 text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 例子 $("#btn1").click(function(){ $("#test1").text("Hello world!"); });//设置文本内容 $("#btn2").click(function(){ $("#test2

  • jQuery获取样式中的背景颜色属性值/颜色值

    天使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE中与Chrome.Firefox显示的格式不一样,IE中是以HEX格式显示#ffff00,而Chrome.Firefox中则是以GRB格式显示rgb(255,0,0),由于需要将颜色值存储到数据库中,所以想让颜色值的格式统一下(其实不统一也是可以存的).搜索了一下,从国外的一个网站上得到一段代码 复制代码 代码如下: $.fn.getHexBackgroundColor = function() { v

  • jQuery操作属性和样式详解

    • 区分 DOM 属性和元素属性 <img src="images/image.1.jpg" id="hibiscus" alt="Hibiscus" class="classA" /> 通常开发人员习惯将id,src,alt等叫做这个元素的"属性".我们将其称为"元素属性".但是在解析成 DOM 对象时,实际浏览器最后会将标签元素解析成"DOM 对象",

  • jQuery 添加样式属性的优先级别方法(推荐)

    jQuery类中添加多个属性 $('#five .a') .css({ color:'blue', border:'2px solid green', background:'blue' }); jQuer为元素添加类 $('#five .a') .addClass('funny'); HTML code <style> .funny{ font-size: 21px; background-color: gray ; padding: 10px; color: yellow ; } <

  • 如何使用jquery修改css中带有!important的样式属性

    <div class="test">使用jquery修改css中带有!important的样式属性</div> 外部样式为: div.test{ width:auto !important; overflow:auto !important } 通过 $("div.test").css("width","100px");和 $("div.test").css("width&

随机推荐