click和on click区别

8 篇文章 0 订阅

click和onclick的区别

onclick是绑定事件,告诉浏览器在鼠标点击时候要做什么;click本身是方法,作用是触发onclick事件,只要执行了元素的click()方法,就会触发onclick事件

click可以理解为一次简单的触发,只执行一次,找不到以后就不再执行;onclick则是给这个id注册一种行为,可以重复触发

click 是方法,onclick是事件。执行click就是模拟鼠标点击,同时会触发onclick事件。

所以说jquery的click点击事件会在点击下拉框的时候触发一次,然后选中下拉项的时候再触发一次。所以可以使用change方法,change是发生改变的时候才触发,因此是正好触发一次。

比如下面要实现一个功能

点击 1 ,的时候,1——>2 的位置上,2——>3 位置,3——>4位置,4——>1 位置,

       如果不用on click ,出现的问题就是,点击第一次有效果,后面再点击同样的位置,就没有效果,反而是在2 的位置点击有效果,因为我们如果直接写click的方法,就会把方法绑定在div上,方法跟着div走了,而不是一直处于1的位置,每次点击就会往后走一个,这种方法不合适;

      所以,我们用on click方法,去绑定到一个元素身上,每次点击找的是这个元素,那这个点击方法就不会跟着div走了,所以每次点击1的位置,都会有效果,都会往后走一个。

     但是,两个左右箭头就可以用click方法,因为他们位置固定,每次点击只需要执行同样的方法就行,不同于点击1。2。3。4。自身,点击自身的切换,会带走自身的方法,导致在相同的位置点击无效。

 

下面是js代码,

$(".m-entrance-a .entrance-in").on("click",".entrance-btn4",function(){
    var entrance1=$(".m-entrance-a .entrance-btn1");
    var entrance2=$(".m-entrance-a .entrance-btn2");
    var entrance3=$(".m-entrance-a .entrance-btn3");
    var entrance4=$(".m-entrance-a .entrance-btn4");

    entrance1.removeClass("entrance-btn1").addClass("entrance-btn2");
    entrance2.removeClass("entrance-btn2").addClass("entrance-btn3");
    entrance3.removeClass("entrance-btn3").addClass("entrance-btn4");
    entrance4.removeClass("entrance-btn4").addClass("entrance-btn1");

})


$(".m-entrance-a .entrance-in").on("click",".entrance-btn3",function(){
    var entrance1=$(".m-entrance-a .entrance-btn1");
    var entrance2=$(".m-entrance-a .entrance-btn2");
    var entrance3=$(".m-entrance-a .entrance-btn3");
    var entrance4=$(".m-entrance-a .entrance-btn4");

    entrance1.removeClass("entrance-btn1").addClass("entrance-btn4");
    entrance2.removeClass("entrance-btn2").addClass("entrance-btn1");
    entrance3.removeClass("entrance-btn3").addClass("entrance-btn2");
    entrance4.removeClass("entrance-btn4").addClass("entrance-btn3");

})


$(".m-entrance-a .prev-btn").click(function(){
    var entrance1=$(".m-entrance-a .entrance-btn1");
    var entrance2=$(".m-entrance-a .entrance-btn2");
    var entrance3=$(".m-entrance-a .entrance-btn3");
    var entrance4=$(".m-entrance-a .entrance-btn4");

    entrance1.removeClass("entrance-btn1").addClass("entrance-btn2");
    entrance2.removeClass("entrance-btn2").addClass("entrance-btn3");
    entrance3.removeClass("entrance-btn3").addClass("entrance-btn4");
    entrance4.removeClass("entrance-btn4").addClass("entrance-btn1");
})
$(".m-entrance-a .next-btn").click(function(){
    var entrance1=$(".m-entrance-a .entrance-btn1");
    var entrance2=$(".m-entrance-a .entrance-btn2");
    var entrance3=$(".m-entrance-a .entrance-btn3");
    var entrance4=$(".m-entrance-a .entrance-btn4");

    entrance1.removeClass("entrance-btn1").addClass("entrance-btn4");
    entrance2.removeClass("entrance-btn2").addClass("entrance-btn1");
    entrance3.removeClass("entrance-btn3").addClass("entrance-btn2");
    entrance4.removeClass("entrance-btn4").addClass("entrance-btn3");
})

下面是html结构

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值