当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JQuery基础总结三:事件篇

JQuery基础总结三:事件篇

2019年01月20日  | 移动技术网IT编程  | 我要评论

基础-事件篇

1.jquery鼠标事件之click与dbclick事件

第一种:

$("ele").click(function(){

    alert('触发指定事件')

});

$("ele").click() //手动指定触发事件

第二种:

$('p').click(function(e) {

            alert(e.target.textcontent)

        });

第三种:

$("button:eq(2)").click(1111, function(e){

    alert(e.data);  //1111

});

2.jquery鼠标事件之mousedown与mouseup事件(鼠标按下,释放事件)

3.jquery鼠标事件之mousemove事件(在固定区域里移动触发)

4.jquery鼠标事件之mouver与mouseout事件

5.jquery鼠标事件之mouseenter与mouseleave事件

和mouseover与mouseout事件差不多,但是这里的两个事件不会冒泡

6.jquery鼠标事件之hover事件(处理一些简单的移入移出事件)

function handlerin(){  //移入事件发生    }

function handlerout(){   //移入事件发生    }

$(selector).hover(handlerin, handlerout);

hover()这个方法里头封装的是mouseenter(), mouseleave()两个方法, 可以阻止冒泡问题.

7.jquery鼠标事件之focusin与focusout事件   (元素获得/失去焦点时触发)

8.jquery表单事件之blur与focus事件

与focusin与focusout事件差不多,但是这里的事件不支持冒泡

9.jquery表单事件之change事件

<input>元素,<textarea>和<select>元素的值都是可以发生改变的,开发者可以通过change事件去监听这些改变动作

监听value值的变化,当有改变时,失去焦点后触发change事件。对于单选按钮和复选框,当用户用鼠标做出选择时,该事件立即触发。

10.jquery表单事件之select事件

当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件。

select事件只能用于<input>元素与<textarea>元素

11.jquery表单事件之submit事件

<form id="target1" action="test.html">

                回车键或者点击提交表单:

                <input type="text" value="输入新的值" />

                <input type="submit" value="go" />

</form>

jq:

$('#target1').submit(function(e) {

        if(不通过验证的事情){

                    //处理code

                    return false;//阻止默认事件(将数据提交到test.html)

            }

    });

12.jquery键盘事件之keydown()与keyup()事件

keydown是在键盘按下就会触发

keyup是在键盘松手就会触发

理论上它可以绑定到任何元素,但keydown/keyup事件只是发送到具有焦点的元素上,不同的中,可获得焦点的元素略有不同,但是表单元素总是能获取焦点,所以对于此事件类型表单元素是最合适的。

13.jquery键盘事件之keypress()事件

keypress()=keydown()+keyup()

与keydown()的区别:在keydown中返回的是键盘的代码, 而keypress返回的是ascii字符

14.on()的多事件绑定

用法一:

$("#elem").on('click',function(){}) //on方式

用法二:(多事件绑定同一函数)

$("#elem").on("mouseover mouseout",function(){ });

用法三:(多事件绑定不同函数)

$("#elem").on({

                mouseover : function(){},

                mouseout : function(){}

            });

用法四:(将数据传递到处理程序)

function greet( event ) {

            alert( "hello " + event.data.name ); //hello 慕课网

        }

$( "button" ).on( "click", {name: "慕课网"}, greet );

高级用法:

<p class="left">

        <p class="aaron">

            <a>目标节点</a> //点击在这个元素上

        </p>

</p>

jq:

$("p").on("click","p",fn);

事件绑定在最上层p元素上,当用户触发在a元素上,事件将往上冒泡,一直会冒泡在p元素上。如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数

15.卸载事件off()方法   (卸载通过on绑定的事件)

$("elem").off("mousedown")  删除一个事件

$("elem").off("mousedown mouseup")   删除多个事件

$("elem").off()   删除所有事件

16.jquery事件对象的作用

$(elem).on("click",function(event){

            event //事件对象

});

触发目标的文本内容:event.target.textcontent

事件类型:event.type

获取鼠标当前相对于页面的坐标:event.pagex 和 event.pagey

阻止默认行为:event.preventdefault() 

阻止冒泡:event.stoppropagation()

获取单击鼠标是哪个:event.which    (左键报告1,中间键报告2,右键报告3)

触发事件的当前元素:event.currenttarget    (等同于this)

注意:

            this和event.target的区别:js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标dom元素;

            .this和event.target都是dom对象。如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;

17.jquery自定义事件之trigger事件   (会触发默认事件)

<h2>自定义事件trigger</h2>

    <p class="left">

        <p><span></span><span>0</span>点击次数</p>

        <button>直接点击</button>

        <button>通过自定义点击</button>

    </p>

    <script type="text/javascript">

    //点击更新次数

    $("button:first").click(function(event,bottonname) {

        bottonname = bottonname || 'first';

        update($("span:first"),$("span:last"),bottonname);

    });

    //通过自定义事件调用,更新次数

    $("button:last").click(function() {

        $("button:first").trigger('click','last');    //调用click事件,并传入参数值为‘last’

    });

    function update(first,last,bottonname) {

        first.text(bottonname);

        var n = parseint(last.text(), 10);

        last.text(n + 1);

    }

    </script>

18.jquery自定义事件之triggerhandler事件

$("button:first").triggerhandler('click','last'); 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网