首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery,添加和删除事件处理程序

问jquery,添加和删除事件处理程序
EN

Stack Overflow用户
提问于 2012-04-30 22:02:56
回答 3查看 14.2K关注 0票数 5

我有两个按钮

代码语言:javascript
复制
 $(".button1").on("click", function(event){
 $(".button2").on("click", function(event){

我想做的是从单击时的button1开始,没有事件侦听器,当单击button2时,事件侦听器被删除,按钮1的事件侦听器被激活。

这是在ActionScript3中使用removeEventListener()方法的一种相当常见的技术,并且希望在jquery中使用类似的方法或技术。

EN

回答 3

Stack Overflow用户

发布于 2012-04-30 22:04:46

如果要删除与jQuery.on绑定的事件处理程序,则可能需要jQuery.off

http://api.jquery.com/off/

票数 7
EN

Stack Overflow用户

发布于 2012-04-30 22:06:10

on()方法绑定事件,off()解除它的绑定。如果给off()提供参数,它将只解除绑定提供的事件,而不使用参数解除所有事件的绑定。

代码语言:javascript
复制
    $('.button1').on('click', function() {
        console.log('button1');
        $(this).off('click');
        $('.button2').on('click');
    })
    $('.button2').on('click', function() {
         console.log('button2');
        $(this).off('click');
        $('.button1').on('click');
    })
票数 5
EN

Stack Overflow用户

发布于 2012-04-30 22:20:53

这就是我所拥有的,但它不会将事件侦听器重新打开

代码语言:javascript
复制
 $(".slide1").on("click", function(){
    $(this).addClass('on');
    $('.slide2').removeClass('on');
     $(this).off('click');
    $('.slide2').on('click');
});

$(".slide2").on("click", function(){
    $(this).addClass('on');
    $('.slide1').removeClass('on');
    $(this).off('click');
    $('.slide1').on('click');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10385012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档