JQ事件和事件对象

1 事件

一 .鼠标事件

1.ready()页面载入事件:载入文档节点

2 click()熟悉的单击事件

3 dbclick()双击事件

4 mousedown() /mouseup() 鼠标按下和松开事件

5 mouseover()/mouseout() 鼠标移入和移出事件

6 mouseenter()/mouseleave() 鼠标移入移出事件

//mouseover()/mouseout()和mouseenter()/mouseleave()的区别

首先来了解一下事件冒泡和捕获

事件冒泡:内部事件先触发,然后在触发外部事件

事件捕获:外部事件先被触发,然后在触发内部元素

mouseover()/mouseout() :鼠标移入“所选元素以及后代都会触发”

mouseenter()/mouseleave():鼠标移入“所选元素”才会触发,如果鼠标移入所选元素的后代时,不会触发(增加阻止事件冒泡功能)

<body>
    <div class="div1">
        <div class="div2"></div>
    </div>
    <p>mouseover事件  <span id="num1"></span>次</p>
     <p>mouseenter事件  <span id="num2"></span>次</p>
    <script>
        var count1=0;
        var count2=0;
        $(‘.div1‘).mouseover(function(){
            $(‘#num1‘).text(count1+=1) //通过记录次数来看出区别,无论移入哪个元素都会加1
        })

         $(‘.div1‘).mouseenter(function(){
            $(‘#num2‘).html(count2+=1)//只有移入指定元素才会加1
        })

    </script>

7 hover鼠标悬停事件 有两个参数(方法),鼠标一定到指定对象以及移出时会触发

二 键盘事件

1 keydown 键盘按下时触发的事件

2 keyup     键盘松开一瞬间触发的事件

3 keypress  键盘按下松开整个过程触发的事件

//keydown()和keypress区别

keydown()按下任意键都会触发,但keypress()事件只在按下键盘中任意字符键(A-Z)时触发,功能键不会触发(如shift ctrl 等)

4 event.which 指示按下的哪个键

 1     <script>
 2         $(document).keydown(function(e){
 3             alert(e.which)
 4         })
 5          $(document).keyup(function(){
 6             alert("1111")
 7         })
 8         $(document).keypress(function(e){
 9             alert(e.which)
10         })
11     </script>

三 表单事件

1  focus ()  :获得焦点事件

2  blur(): 失去焦点事件

3 focusin()  :获得焦点事件

4 focusout() :失去焦点事件

5 change()  :元素发生改变时,触发事件

6 select():当选中单行文本text或者多行文本areatext时,触发事件

7 submit()  :表单提交事件

//focus()和focusin() 的区别

focusin可以在父元素上检测子元素获得焦点的情况 而focusout可以在父元素上检测子元素失去焦点情况

四 其他事件

1 scroll()滚动滚动条时触发的事件

2  resize()当调整窗口大小时触发的事件

//小案例(当滚动到一定高度出现搜索菜单)

.bar{
        width: 100%;
        height: 50px;
        background: red;
        position:fixed;
        top:0;
        display: none;
    }
<div class="bar"></div>
$(function(){

        $(window).scroll(function(){
            str=$(this).scrollTop();
            if(str>1000){
                $(‘.bar‘).css(‘display‘,‘block‘)
            }
            //滚动条的距离scrollTop()和scrollLeft()

        })

2 事件对象

JQ在事件函数中默认传递了参数event对象,

一  event对象属性

1 event .type   描述事件的类型

2 event.target  触发该事件的DOM元素

3  event.currentTarget 在事件冒泡阶段中的当前DOM元素,等同于 this

4 event.pageX/event.pageY   鼠标相对于文件左侧和顶部的位置   //会随着滚动条变化而变化

//screenX/screenY  获取显示器屏幕位置的坐标 //整个屏幕的高度    不会随着滚动条变化而变化

//clientX/clientY  获取相当于页面视口的坐标 //除去上下窗口      不会随着滚动条变化而变化

    <script src="jquery-3.1.1.min.js"></script>
    <title>client screen page</title>
    <style>
        body{
            height: 3000px;
            font-family: "微软雅黑";
            margin:0px;
            padding:0px;
        }
    #div1{
        width:300px;
        height: 200px;
        border:1px solid red;
        position: fixed;
        top:0;
    }
    </style>
</head>
<body>
    <div id="div1"></div>
    <script>
        $(document).mousemove(function(e){
              $(‘#div1‘).html("pageY:"+e.pageY+"<br/>"+"clientY:"+e.clientY+"<br/>"+"screenY:"+e.screenY)

        })

    </script>
</body>
</html>

5  event.which 针对键盘和鼠标事件,这个属性能确定你到底按的是哪个键或按钮。

event.which将event.keyCode 和 event.charCode标准化了。推荐用event.which来监视键盘输入。

在mousedown、mouseup事件中,event.which属性返回的是对应鼠标按钮的映射代码值(相当于event.button)。以下是主要的鼠标按钮映射代码对应表


Event.which属性值


对应的鼠标按钮


1


鼠标左健


2


鼠标中健(滚轮键)


3


鼠标右健

6 event.preventDefault()  阻止事件的默认行为

7 event.stopPropagation()  防止冒泡事件

原文地址:https://www.cnblogs.com/qianqian-it/p/9628319.html

时间: 2024-07-28 22:27:47

JQ事件和事件对象的相关文章

JQ 为未来元素添加事件处理器—事件委托

随着DOM结构的复杂化和Ajax等动态脚本技术的运用,有了较多的动态添加进来的元素,直接用JQ添加click事件会发现新添加进来的元素并不能直接选取到,在这里就需要用到事件委托方法,JQ为事件委托提供了live().dalegate()和on()方法. 事件委托 我们知道,DOM在为页面中的每个元素分派事件时,相应的元素一般都在事件冒泡阶段处理事件.在类似 body > div > a 这样的结构中,如果单击a元素,click事件会从a一直冒泡到div和body(即document对象).因此

css3模拟jq点击事件

还是这个梗,收好冷.今天是一个css3模拟jq点击事件,因为我发现,css3中没有类似于,js的点击事件,那么,可不可以仿照 jq的效果,类似的做一个呢?主要用到,input里面的radio 单选按钮,然后后面跟一个a标签,让radio覆盖在a上,那为什么不直接 把 a放在radio上面呢?因为选择器 + 好选择嘛,用radio的功能,a来修饰按钮样式,再把radio 隐藏,这里要用opacity(透明度) 这就是,主要原理! 上视图吧 <!DOCTYPE html> <html>

跨浏览器的事件处理程序——事件处理程序、事件对象差异

为了以跨浏览器的方式处理事件,不少开发人员会使用能够隔离浏览器差异的javascript库,本文从事件处理程序.事件对象差异出发,演示开发最适合的事件处理方法 基本名词解析: 事件 用户或浏览器自身执行的某种动作 事件流 从页面中接收事件的顺序,,IE的事件流指的是事件冒泡流,而Netscape Communicator的事件流是事件捕获流 事件冒泡 事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档) 事件捕获 不太具体的节点应该更早接收到事

jQ的select事件和trigger方法的小冲突

方法和事件都不难理解,分开用也都没问题,但是一起用就有些小问题出现. 直接上结论:使用trigger方法触发一个文本类型的 input 元素的select事件时,chrome浏览器会错误的触发三次,firefox和ie11只会正常触发一次 解决办法也简单,把trigger换成triggerHandler()即可. 网上搜了下,有说是trigger()的方法的问题,有说是冒泡问题的,有说是select触发机制的问题. 然而这些并没有说服我,填补不了好奇心,所以找不到答案就自己尝试 <html>

Html5之高级-11 拖放API (拖放事件、dataTransfer对象、setDragImage方法)

一.拖放API WEB 拖放 - 在桌面应用程序上,可以将元素从一个位置拖放到另一个位置,但在Web上,开发者没有一种能够实现这种操作的标准技术,从而在Web上去实现这个功能并不太容易 - 在 HTML5 标准中引入了拖放API,从而使我们有可能开发出于桌面应用程序完全相同的 Web应用程序 源元素事件 - 在拖放 API 中引入了一些新的事件,其中有一些元素是由源元素(拖动的元素)触发,称之为源元素事件,另一些事件由目标元素触发(源元素投放的元素) - 源元素事件: - dragstart:当

jQuery入门(3)事件与事件对象

jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 一.事件与事件对象 首先看一下我们经常使用的添加事件的方式: 01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

从零开始学习jQuery (五) 事件与事件对象

原文:从零开始学习jQuery (五) 事件与事件对象 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始学习jQuer

JS事件-对象监视事件,事件触发函数

写在前面: 一句话作为本文的核心思想:对象监视事件,事件触发函数: (一)事件 1.事件分类 (1)鼠标事件 click()                      鼠标单击 dblclick()                   鼠标双击 mouseover()             鼠标移入事件 mouseout()              鼠标移出事件 mousemove()             鼠标移动事件 mousedown()            鼠标按下事件 mous

jQ新的事件绑定方法on()

今天浏览jQuery的deprecated列表,发现live()和die()在里面了,赶紧看了一下,发现从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一处理事件绑定.因为在此之前有bind(), live(), delegate()等方法来处理事件绑定,jQuery从性能优化以及方式统一方面考虑决定推出新的函数来统一事件绑定方法并且替换掉以前的方法. on(events,[selector],[data],fn)events:一个或多个用空格分隔的

添加事件及Event对象的兼容写法

一.事件流 事件流描述的是从页面中接受事件的顺序. IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流 1.事件冒泡 事件冒泡,即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上转播至最不具体的节点(文档). 2.事件捕获 事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点最后接收到事件. 二.事件处理程序 1.HTML事件处理程序 2.DOM0级事件处理程序 3.DOM2级事件处理程序 DOM2级事件定义了两个方法:用于处理指定和删除事件处