Javascript 防止单击另一个按钮jquery

Javascript 防止单击另一个按钮jquery,javascript,jquery,Javascript,Jquery,如何防止在单击第一个按钮时单击另一个按钮 范例 您可以删除单击处理程序 $(function () { $('.vote_like').one('click.like', function () { $('.vote_dislike').off('click.like'); console.log('like!') }); $('.vote_dislike').one('click.like', function () {

如何防止在单击第一个按钮时单击另一个按钮

范例


您可以删除单击处理程序

$(function () {
    $('.vote_like').one('click.like', function () {
        $('.vote_dislike').off('click.like');
        console.log('like!')
    });
    $('.vote_dislike').one('click.like', function () {
        $('.vote_like').off('click.like');
        console.log('dislike!');
    });
});

演示:

您可以删除单击处理程序

$(function () {
    $('.vote_like').one('click.like', function () {
        $('.vote_dislike').off('click.like');
        console.log('like!')
    });
    $('.vote_dislike').one('click.like', function () {
        $('.vote_like').off('click.like');
        console.log('dislike!');
    });
});

演示:

您可以删除单击处理程序

$(function () {
    $('.vote_like').one('click.like', function () {
        $('.vote_dislike').off('click.like');
        console.log('like!')
    });
    $('.vote_dislike').one('click.like', function () {
        $('.vote_like').off('click.like');
        console.log('dislike!');
    });
});

演示:

您可以删除单击处理程序

$(function () {
    $('.vote_like').one('click.like', function () {
        $('.vote_dislike').off('click.like');
        console.log('like!')
    });
    $('.vote_dislike').one('click.like', function () {
        $('.vote_like').off('click.like');
        console.log('dislike!');
    });
});

演示:

锚点没有禁用它们的方法,因此您需要删除锚点,或者在javascript中设置一个布尔值来跟踪是否单击了锚点

或者,您可以将它们转换为实际的
按钮
元素,使用
禁用
状态


或者,您可以使用jquery向锚点添加自定义的
数据
属性,以便在锚点被“禁用”时进行跟踪

锚点没有禁用它们的方法,因此您需要删除锚点,或者在javascript中设置一个布尔值,以便在单击锚点时进行跟踪

或者,您可以将它们转换为实际的
按钮
元素,使用
禁用
状态


或者,您可以使用jquery向锚点添加自定义的
数据
属性,以便在锚点被“禁用”时进行跟踪

锚点没有禁用它们的方法,因此您需要删除锚点,或者在javascript中设置一个布尔值,以便在单击锚点时进行跟踪

或者,您可以将它们转换为实际的
按钮
元素,使用
禁用
状态


或者,您可以使用jquery向锚点添加自定义的
数据
属性,以便在锚点被“禁用”时进行跟踪

锚点没有禁用它们的方法,因此您需要删除锚点,或者在javascript中设置一个布尔值,以便在单击锚点时进行跟踪

或者,您可以将它们转换为实际的
按钮
元素,使用
禁用
状态


或者,您可以使用jquery将自定义
数据
属性添加到锚点,以跟踪锚点是否被“禁用”

,因为您已将
附加到每个按钮上。每个按钮上都有一个
处理程序,它最多仍将根据属性执行一次。要防止单击,必须在单击某个处理程序后删除该处理程序

     $('.vote_like').one('click',function(){
     $('.vote_dislike').off();
     alert('Done!')
   });

   $('.vote_dislike').one('click',function(){
    $('.vote_like').off();
    alert('Done!');
    });
   });

    <a href="#" class="vote_like">Like</a> - 
    <a href="#" class="vote_dislike">Dislike</a>

因为您已将
。一个
处理程序附加到每个按钮上,因此它最多仍将根据指定时间执行一次。要防止单击,必须在单击某个处理程序后删除该处理程序

     $('.vote_like').one('click',function(){
     $('.vote_dislike').off();
     alert('Done!')
   });

   $('.vote_dislike').one('click',function(){
    $('.vote_like').off();
    alert('Done!');
    });
   });

    <a href="#" class="vote_like">Like</a> - 
    <a href="#" class="vote_dislike">Dislike</a>

因为您已将
。一个
处理程序附加到每个按钮上,因此它最多仍将根据指定时间执行一次。要防止单击,必须在单击某个处理程序后删除该处理程序

     $('.vote_like').one('click',function(){
     $('.vote_dislike').off();
     alert('Done!')
   });

   $('.vote_dislike').one('click',function(){
    $('.vote_like').off();
    alert('Done!');
    });
   });

    <a href="#" class="vote_like">Like</a> - 
    <a href="#" class="vote_dislike">Dislike</a>

因为您已将
。一个
处理程序附加到每个按钮上,因此它最多仍将根据指定时间执行一次。要防止单击,必须在单击某个处理程序后删除该处理程序

     $('.vote_like').one('click',function(){
     $('.vote_dislike').off();
     alert('Done!')
   });

   $('.vote_dislike').one('click',function(){
    $('.vote_like').off();
    alert('Done!');
    });
   });

    <a href="#" class="vote_like">Like</a> - 
    <a href="#" class="vote_dislike">Dislike</a>

可以对两个按钮使用一个处理程序,并删除其中的两个按钮的单击处理程序

var btns=$('.vote_like, .vote_dislike').on('click',function(e){
    e.preventDefault();
    var isLikeBtn=$(this).is('.vote_like');
    /* remove click handler for both, remove class from other button */
    btns.off('click').not(this).removeClass( isLikeBtn ? 'vote_dislike' : 'vote_like');
});

由于在两个按钮上都使用
关闭
相当于使用一个
处理程序

可以对两个按钮使用一个处理程序,并删除其中的单击处理程序

var btns=$('.vote_like, .vote_dislike').on('click',function(e){
    e.preventDefault();
    var isLikeBtn=$(this).is('.vote_like');
    /* remove click handler for both, remove class from other button */
    btns.off('click').not(this).removeClass( isLikeBtn ? 'vote_dislike' : 'vote_like');
});

由于在两个按钮上都使用
关闭
相当于使用一个
处理程序

可以对两个按钮使用一个处理程序,并删除其中的单击处理程序

var btns=$('.vote_like, .vote_dislike').on('click',function(e){
    e.preventDefault();
    var isLikeBtn=$(this).is('.vote_like');
    /* remove click handler for both, remove class from other button */
    btns.off('click').not(this).removeClass( isLikeBtn ? 'vote_dislike' : 'vote_like');
});

由于在两个按钮上都使用
关闭
相当于使用一个
处理程序

可以对两个按钮使用一个处理程序,并删除其中的单击处理程序

var btns=$('.vote_like, .vote_dislike').on('click',function(e){
    e.preventDefault();
    var isLikeBtn=$(this).is('.vote_like');
    /* remove click handler for both, remove class from other button */
    btns.off('click').not(this).removeClass( isLikeBtn ? 'vote_dislike' : 'vote_like');
});
因为在两者上使用
off
相当于使用
one


这仍然需要你处理点击,因为它是一个锚,会做一些你不想做的事情。只要你取消它,就得做点什么。如果要允许切换,您还必须重新注册事件。在没有命名空间的情况下,单击时仍可以使锚点返回false,否?这仍然需要您处理单击,因为它是锚点,将执行您不希望执行的操作。只要你取消它,就得做点什么。如果要允许切换,您还必须重新注册事件。在没有命名空间的情况下,单击时仍可以使锚点返回false,否?这仍然需要您处理单击,因为它是锚点,将执行您不希望执行的操作。只要你取消它,就得做点什么。如果要允许切换,您还必须重新注册事件。在没有命名空间的情况下,单击时仍可以使锚点返回false,否?这仍然需要您处理单击,因为它是锚点,将执行您不希望执行的操作。只要你取消它,就得做点什么。如果您想允许切换,您还必须重新注册事件。单击时仍可以使锚返回false,而不带名称空间,否?因为单击后im调用ajax函数,数据将使用php存储在数据库中…没关系,您可以控制要在函数中存储的数据,我更新了我的POST,因为点击后im调用ajax函数,数据用php存储在数据库中…没关系,你可以控制要存储在函数中的数据,我更新了我的POST,因为点击后im调用ajax函数,数据用php存储在数据库中…没关系,你可以控制你希望在函数中存储哪些数据,我更新了我的帖子,因为点击后im调用ajax函数,数据用php存储在数据库中……没关系,你可以控制你希望在函数中存储哪些数据,我更新了我的帖子