jquery 事件--鼠标事件

一、click( )  与 dblclick() --双击

  • click事件其实是由mousedown与mouseup 2个动作构成,所以点击的动作只有在松手后才触发
  • 在同一元素上同时绑定 click 和 dblclick 事件是不可取的。
 $(".div").click(function(){
    alert("hello")
 })

  $(‘p‘).click(function(e) {
    alert(e.target.textContent); // 打印所点击对象的文本
  })

  function abc(e) {
    alert(e.data) //1111
  } 

  $("button:eq(2)").click(1111, abc); // 点击按钮,调用data方法


//click 事件的3种写法

//1
$("#box").click(function(){
       alert("Hello ");
  }); 

//2
$(‘#box‘).bind("click", function(){
     alert("Hello");
}); 

//3
$(‘#box‘).on(‘click‘, function(){
     alert("Hello");
});  

二、mousedown()  与   mouseup()

  • mousedown强调是按下触发
  • 任何鼠标按钮被按下时都能触发mousedown事件
  • 用event 对象的which区别按键,敲击鼠标左键which的值是1,敲击鼠标中键which的值是2,敲击鼠标右键which的值是3

  

// 点击按钮,弹出是哪个键按下了,左键是1,中间滚轮是2,右键是3
$("button:eq(0)").mousedown(function(e) {
      alert(‘e.which: ‘ + e.which)
})

 function fn(e) {
    alert(e.data) //1111
 }
 function a() {
    $("button:eq(2)").mousedown(1111, fn)
 }
 a();

三、mousemove() 鼠标移动

  • mousemove事件是当鼠标指针移动时触发的,即使是一个像素
  • 如果处理器做任何重大的处理,或者如果该事件存在多个处理函数,这可能造成浏览器的严重的性能问题
<div class="aaron1">
    <p>鼠标在绿色区域移动触发mousemove</p>
    <p>移动的X位置:</p>
</div>

$(".aaron1").mousemove(function(e) {
  $(this).find(‘p:last‘).html(‘移动的X位置:‘ + e.pageX)
})

四、mouseover()  与 mouseout()

移入移出事件

<div class="aaron1">
    <p>鼠标移进此区域触发mouseover事件</p>
    <a>进入元素内部,mouseover事件触发次数:</a>
</div>
var n = 0;
//绑定一个mouseover事件
$(".aaron1 p:first").mouseover(function(e) {
     $(".aaron1 a").html(‘进入元素内部,mouseover事件触发次数:‘ + (++n))
})

五、mouseenter() 与 mouseleave()

与mouseover() /mouseout() 类似

mouseenter事件和mouseover的区别

关键点就是:冒泡的方式处理问题

简单的例子:

mouseover为例:

<div class="aaron2">
    <p>鼠标离开此区域触发mouseleave事件</p>
</div>

如果在p元素与div元素都绑定mouseover事件,鼠标在离开p元素,但是没有离开div元素的时候,触发的结果:

  1. p元素响应事件
  2. div元素响应事件

这里的问题是div为什么会被触发? 原因就是事件冒泡的问题,p元素触发了mouseover,他会一直往上找父元素上的mouseover事件,如果父元素有mouseover事件就会被触发

所以在这种情况下面,jQuery推荐我们使用 mouseenter事件

mouseenter事件只会在绑定它的元素上被调用,而不会在后代节点上被触发

<style>p{height: 50px;border: 1px solid red;margin: 30px;}</style>
<div class="aaron1">
    <p>鼠标离开此区域触发mouseover事件</p>
    <a>mouseover事件触发次数:</a><br/>
    <a>mouseover冒泡事件触发次数:</a>
</div>
<div class="aaron2">
    <p>鼠标进入此区域触发mouseenter事件</p>
    <a>mouseenter事件触发次数:</a><br/>
    <a>mouseenter冒泡事件触发次数:</a>
</div>

  var i = 0;
   $(".aaron1 p").mouseover(function(e) {
       $(".aaron1 a:first").html(‘mouseover事件触发次数:‘ + (++i))
   })
   var n = 0;
   $(".aaron1").mouseover(function() {
       $(".aaron1 a:last").html(‘mouseover冒泡事件触发次数:‘ + (++n))
   })
<script type="text/javascript">
   var i = 0;
   $(".aaron2 p").mouseenter(function(e) {
       $(".aaron2 a:first").html(‘mouseenter事件触发次数:‘ + (++i))
   })
   var n = 0;
   $(".aaron2").mouseenter(function() {
       $(".aaron2 a:last").html(‘mouseenter冒泡事件触发次数:‘ + (++n))
   })
</script>

六、hover() 事件

在元素上移进移出切换其换色,一般通过2个事件配合就可以达到,这里用mouseenter与mouseleave,这样可以避免冒泡问题

$(ele).mouseenter(function(){
     $(this).css("background", ‘#bbffaa‘);
 })
$(ele).mouseleave(function(){
    $(this).css("background", ‘red‘);
})

直接用一个hover方法,可以便捷处理$("p").hover(function(){  $(this).css();})

七、focusin() 与 focusout()

当一个元素,或者其内部任何一个元素获得焦点的时候,

例如:input元素,用户在点击聚焦的时候,如果开发者需要捕获这个动作的时候,jQuery提供了一个focusin事件<input type="text" />

 $("input:first").focusin(function() {
      $(this).css(‘border‘,‘2px solid red‘);// input 获得焦点,边框变红
 })

  $("input:first").focusout(function() {
    $(this).css(‘border‘,‘2px solid blue‘);// 失去焦点,
  })

 

//不同函数传递数据
  function fn(e) {
    $(this).val(e.data)
  }

  function a() {
    $("input:last").focusin(‘请输入你的名字‘, fn)
  }
  a();

 

focus blur 事件在表单事件里

时间: 2024-08-02 02:33:24

jquery 事件--鼠标事件的相关文章

jQuery的鼠标事件总结

jQuery的鼠标事件总结 1.click()事件. 2.dbclick()鼠标双击事件 3.mousedown()鼠标按下事件 4.mouseup()鼠标松开事件 5.mouseover()从一个元素移入另一个元素时触发 6.mouseout()鼠标移出元素时触发 7.mouseenter()鼠标移入元素时触发 8.mouseleave()鼠标移除元素触发 9.hover()鼠标移入元素上面 10.toggle()鼠标切换事件

jquery 的鼠标事件

鼠标事件是在用户移动鼠标光标或者使用任意鼠标键点击时触发的.   (1):click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发.        $('p').click(function(){                alert('click function is running !');              });    (2):dbclick事件:dbclick事件在用户完成迅速连续的两次点击之后触发,双击的速度取决于操作系统的设置.一般双击事件

JQuery事件——鼠标事件

鼠标事件.click()..dbclick()..mousedown()和 .mouseup() 1   .click()用于监听用户单机操作 2   .dbclick()用于监听用户双击操作 3   $ele.click()绑定$ele元素,不带任何参数一般是用来指定触发一个事件 4   $ele.click(handler(eventObject))绑定$ele元素,每次$ele元素触发点击操作会执行回调handler函数,可以针对事件的反馈做很多操作,方法中的this是指向绑定事件的元素

JQuery事件——鼠标事件1

鼠标事件.mousemove()..mouseover()..mouseout()..mouseenter() 和.mouseleave() 1   .mousemove()监听用户移动的操作 2   $ele.mousemove()绑定$ele元素,不带任何参数,用来指定触发一个事件 3   $ele.mousemove(handler(eventObject))绑定$ele元素,每次$ele元素触发点击操作会执行回调handler函数,可以针对事件的反馈进行很多操作 4   $ele.mou

网站开发div在Jquery中的鼠标事件失去焦点

网站div在Jquery中的鼠标事件失去焦点,今天在做网站开发的时候遇到了个问题,就是我在用Jquery做导航的时候,用到了Jquery的鼠标事件mouseout,但问题出来了,我有两个div,A的div包含了B的div,本来我是想当鼠标移出A的div的时候隐藏div,可是当我的鼠标移到B的div在移出的时候也会触发jquery的隐藏事件,这让人很头痛. 在网上搜了下,找到了解决的法子,就是直接把mouseout换成了mouseleave就可以了,具体的问题请大家参考Jquery的开发文档吧

深入学习jQuery鼠标事件

前面的话 鼠标事件是DOM事件中最常用的事件,jQuery对鼠标事件进行了封装和扩展.本文将详细介绍jQuery鼠标事件 类型 鼠标事件共10类,包括click.contextmenu.dblclick.mousedown.mouseup.mousemove.mouseover.mouseout.mouseenter和mouseleave click 当用户按下并释放鼠标按键或其他方式"激活"元素时触发 contextmenu 可以取消的事件,当上下文菜单即将出现时触发.当前浏览器在鼠

jQuery中的事件机制深入浅出

昨天呢,我们大家一起分享了jQuery中的样式选择器,那么今天我们就来看一下jQuery中的事件机制,其实,jQuery中的事件机制与JavaScript中的事件机制区别是不大的,只是,JavaScript中调用是原生的函数方法,而jQuery中调用的绑定的是jQuery中的对象方法,那么在昨天的第一篇中,我们已经说过了jQuery对象和DOM对象之间的转换,至于其中的转换的原理,我们就需要去分析一下jQuery中的源码了,这个我们在源码分析中再去做讨论, 首先呢,我们先来看一下,jQuery中

jQuery中的事件和动画效果

刚刚学习了jqyery的一些事件和动画,下面我来总结一下: 1.基础事件 1.window事件,它的对应方法是ready(),$(document).ready()方法是事件模块中最重要的一个函数,可以极大的提高web应用程序的响应速度.(不做过多的讲解) 2.鼠标事件 鼠标事件就是用户在文档上移动或者点击时引发的操作. 1.click(); 2.mouseout(); 3.mouseout(); $(function () { $('li').on('mouseenter',function

jQuery 语法-选择器-事件(基础知识)

jQuery 语法 jQuery 语法是通过选取 HTML 元素的,并对元素执行某些操作 基础语法: $(selector).action() 美元符号定义 jQuery 选择符(selector)"查询"和"查找" HTML 元素 jQuery 的 action() 执行对元素的操作 实例: $(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有段落 $("p.test").hide() -