为了账号安全,请及时绑定邮箱和手机立即绑定
  • 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事件只会在绑定它的元素上被调用,而不会在后代节点上被触发


    查看全部
  • 方法一:$ele.mouseover()

    绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少

    <div id="test">点击触发<div>
    $("ele").mouseover(function(){
        alert('触发指定事件')
    })
    $("#test").click(function(){     $("ele").mouseover()  //指定触发事件 });

    方法二:$ele.mouseover( handler(eventObject) )

    绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数

    这样可以针对事件的反馈做很多操作了

    <div id="test">滑动触发<div>
    $("#test").mouseover(function() {
        //this指向 div元素 
    });

    方法三:$ele.mouseover( [eventData ], handler(eventObject) )

    使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题

    <div id="test">点击触发<div>
    $("#test").mouseover(11111,function(e) {
        //this指向 div元素
        //e.data  => 11111 传递数据
    });


    查看全部
  • 方法一:$ele.mousemove()

    绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少

    <div id="test">点击触发<div>
    $("ele").mousemove(function(){
        alert('触发指定事件')
    })
    $("#test").click(function(){     $("ele").mousemove()  //指定触发事件 });

     

    方法二:$ele.mousemove( handler(eventObject) )

    绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数

    这样可以针对事件的反馈做很多操作了

    <div id="test">滑动触发<div>
    $("#test").mousemove(function() {
        //this指向 div元素 
    });

     

    方法三:$ele.mousemove( [eventData ], handler(eventObject) )

    使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题

    <div id="test">点击触发<div>
    $("#test").mousemove(11111,function(e) {
        //this指向 div元素
        //e.data  => 11111 传递数据
    });

     

    mousemove事件触发需要以下几点:

    • mousemove事件是当鼠标指针移动时触发的,即使是一个像素

    • 如果处理器做任何重大的处理,或者如果该事件存在多个处理函数,这可能造成浏览器的严重的性能问题


    查看全部
  • 方法一:$ele.mousedown()

    绑定$ele元素,不带任何参数一般是用来指定触发一个事件,可能一般用的比较少

    <div id="test">点击触发<div>
    $("ele").mousedown(function(){
        alert('触发指定事件')
    })
    $("#test").mousedown(function(){     $("ele").mousedown()  //手动指定触发事件 });

    方法二:$ele.mousedown( handler(eventObject) )

    绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数

    这样可以针对事件的反馈做很多操作了

    <div id="test">点击触发<div>
    $("#test").mousedown(function() {
        //this指向 div元素
    });

    方法三:$ele.mousedown( [eventData ], handler(eventObject) )

    使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题

    <div id="test">点击触发<div>
    $("#test").mousedown(11111,function(e) {
        //this指向 div元素
        //e.data  => 11111 传递数据
    });

    mousedown事件触发需要以下几点:

    • mousedown强调是按下触发

    • 如果在一个元素按住了鼠标不放,并且拖动鼠标离开这个元素,并释放鼠标键,这仍然是算作mousedown事件

    • 任何鼠标按钮被按下时都能触发mousedown事件

    • 用event 对象的which区别按键,敲击鼠标左键which的值是1,敲击鼠标中键which的值是2,敲击鼠标右键which的值是3

    mouseup事件触发需要以下几点:

    • mouseup强调是松手触发,与mousedown是相反的

    • mouseup与mousedown组合起来就是click事件

    • 如果用户在一个元素上按下鼠标按键,并且拖动鼠标离开这个元素,然后释放鼠标键,这仍然是算作mouseup事件

    • 任何鼠标按钮松手时都能触发mouseup事件

    • 用event 对象的which区别按键,敲击鼠标左键which的值是1,敲击鼠标中键which的值是2,敲击鼠标右键which的值是3

    另外需要注意的是:

    click与mousedown的区别:

    • click事件其实是由mousedown于mouseup 2个动作构成,所以点击的动作只有在松手后才触发


    查看全部
  • 方法一:$ele.click()

    绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少

    <div id="test">点击触发<div>
    $("ele").click(function(){
        alert('触发指定事件')
    })
    $("#test").click(function(){     $("ele").click()  //手动指定触发事件 
    });

    方法二:$ele.click( handler(eventObject) )

    绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数,这样可以针对事件的反馈做很多操作了,方法中的this是指向了绑定事件的元素

    <div id="test">点击触发<div>
    $("#test").click(function() {
        //this指向 div元素
    });

    方法三:$ele.click( [eventData ], handler(eventObject) )

    使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题

    <div id="test">点击触发<div>
    $("#test").click(11111,function(e) {
        //this指向 div元素
        //e.data  => 11111 传递数据
    });

    dblclick()的用法和click()的用法是类似的,可以参考以上click()的用法。

    dbclick与click事件不同的是:

    click事件触发需要以下几点:

    • click事件其实是由mousedown与mouseup 2个动作构成,所以点击的动作只有在松手后才触发

    PS:mousedown和mouseup下一节会讲到

    dblclick事件触发需要以下几点:

    dblclick又是由2个click叠加而来的,所以dblclick事件只有在满足以下条件的情况下才能被触发

    • 鼠标指针在元素里面时点击。

    • 鼠标指针在元素里面时释放。

    • 鼠标指针在元素里面时再次点击,点击间隔时间,是系统而定。

    • 鼠标指针在元素里面时再次释放。


    查看全部
  • W3C的标准,按下键不松会一直触发keydown事件;所以keydown与keyup为什么长按一个键,总是会显示


    查看全部
  • keydown事件触发在文字还没敲进文本框,这时如果在keydown事件中输出文本框中的文本,得到的是触发键盘事件前的文本(keypress也类似),而keyup事件触发时整个键盘事件的操作已经完成,获得的是触发键盘事件后的文本

    查看全部
  • div正常情况下是无法获得焦点的,所以其blur方法和focus方法都是没有用的,解决方案如下:

    在div处的属性加上tabindex = "0",即为

    <div tabindex = "0"></div>

    此时点击div就会触发focus

    查看全部
  • focus()在元素本身产生,focusin()在元素包含的元素中产生


    查看全部
  • $(p).hover(in,out)

    查看全部
  • 触发键盘按下:获取按下的时候textbox中的值   

    $('.target1').keydown(function(e) {

            $("em:first").text(e.target.value)

        });


    查看全部
  •     $('#target1').submit(function(e) {

            alert('捕获提交表达动作,不阻止页面跳转')

        });

        //回车键或者点击提交表单,禁止浏览器默认跳转:

        $('#target2').submit(function() {

            alert('捕获提交表达动作,阻止页面跳转')

            return false;

        });


    查看全部
  • select事件只能用于<input>元素与<textarea>元素


    查看全部
  • 只需要在hover方法中传递2个回调函数就可以了,不需要显示的绑定2个事件

    $(selector).hover(handlerIn, handlerOut)
    • handlerIn(eventObject):当鼠标指针进入元素时触发执行的事件函数

    • handlerOut(eventObject):当鼠标指针离开元素时触发执行的事件函数


    查看全部
  • triggerHandler与trigger的用法是一样的,重点看不同之处:

    • triggerHandler不会触发浏览器的默认行为,.triggerHandler( "submit" )将不会调用表单上的.submit()

    • .trigger() 会影响所有与 jQuery 对象相匹配的元素,而 .triggerHandler() 仅影响第一个匹配到的元素

    • 使用 .triggerHandler() 触发的事件,并不会在 DOM 树中向上冒泡。 如果它们不是由目标元素直接触发的,那么它就不会进行任何处理

    • 与普通的方法返回 jQuery 对象(这样就能够使用链式用法)相反,.triggerHandler() 返回最后一个处理的事件的返回值。如果没有触发任何事件,会返回 undefined


    查看全部

举报

0/150
提交
取消
课程须知
1、有HTML/CSS基础 2、有JavaScript基础
老师告诉你能学到什么?
1、jQuery的基础语法 2、jQuery事件处理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!