jQuery事件详解之bind()

作者: mytac | 来源:发表于2016-11-27 19:30 被阅读61次

当文档加载完毕,如果打算为元素绑定事件来完成某些操作,可以使用bind()方法来对匹配的元素进行事件绑定。

//bind()方法的调用格式
bind(type [,data],fn)

第一个参数表示事件类型,包括blur、focus、load、resize、scroll、unload、click、dblick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleaave、change、select、submit、keydown、keypress、keyup、error等(也可以是自定义的事件)。

第二个参数为传递给事件对象的额外数据对象(可选)。

第三个参数是用来绑定的处理函数。

基本效果

<button>按钮</button>
    <p>hello,jQuery</p>
    <script>
        $(function(){
            $("p").hide();
            $("button").bind("click",function(){
                $(this).next().show();
            })
        })
    </script>

演示

代码演示

加强效果

在上面的演示中只能点一次,再次点击没有反应,为了实现“点击,p标签内容显示;再次点击,p标签内容隐藏”这一效果,需要判断p标签是否隐藏。

为了判断元素是否显示,可以使用jQuery中的is()方法来完成。

<button>按钮</button>
    <p>hello,jQuery</p>
    <p>点击<span id="counter">0</span>次</p>
    <script>
        $(function(){
            var counter=1
            $("button").bind("click",function(){
                $("#counter").text(counter++)
                var p=$(this).next()
                if(p.is(":visible")){//如果p标签的内容显示
                    $(p).hide()
                }
                else{
                    $(p).show()
                }
            })
        })
    </script>

演示

代码演示

改变绑定事件的类型

改变上面的效果“当鼠标移入时显示,移出时隐藏”

<button>按钮</button>
    <p>hello,jQuery</p>
    <p>鼠标状态:<span id="mouseState">移出</span></p>
    <script>
        $(function(){
            var state=$("#mouseState")
            var p=$("button").next()
            $("button").bind("mouseover",function(){
                state.text("移入")
                p.show()
            }).bind("mouseout",function(){
                state.text("移出")
                p.hide()
            })
        })
    </script>

演示

代码演示

简写绑定事件

像click,mouseover这类事件,jQuery也提供了一套简写的方法,如:

$(button).click(function(){
alert("hello~")
})

相关文章

网友评论

    本文标题:jQuery事件详解之bind()

    本文链接:https://www.haomeiwen.com/subject/rienpttx.html