Onmouseup如果特定元素上不存在选定的类,则从另一个元素中删除所选的类

时间:2012-07-18 01:38:53

标签: jquery toggle mouseup

我有一系列按钮(A,B,C,D),它们像单选按钮一样切换,一次只能选择一个按钮。如果用户选择了一个按钮,用户也可以再次单击相同的按钮以关闭。

还有一个按钮(X),它与按钮(A,B,C,D)有关系。如果选择了按钮(A,B,C,D)中的元素,则只能选择按钮X.

  1. 用户可以切换按钮(A,B,C,D),如单选按钮= 此功能

  2. 用户可以切换按钮(A,B,C,D),如单选按钮,选择按钮X,然后继续切换按钮(A,B,C,D),如单选按钮和按钮X将仍然保持突出。 = 此作品

  3. 任何一个按钮(A,B,C,D)都可以与按钮X一起选择。= 这是有效的

  4. 我的问题是如果取消选择按钮(A,B,C,D),则按钮X无法保持选中状态。要重新创建请看看这里。 http://jsfiddle.net/froze1906/tHezS/

    1. 尝试点击按钮X,你不能b / c它需要选择其中一个按钮(A,B,C,D)。

    2. 点击按钮A,它被选中,现在点击按钮X然后它被选中,现在用户可以从组中选择另一个按钮或切换按钮X后退。

    3. 现在关闭您选择的任何按钮(A,B,C,D),仍然选择按钮X.

    4. 如果取消选择按钮(A,B,C,D),当按钮(A,B,C,D)关闭时,按钮X也会在鼠标按钮上取消选择,我需要做什么才能添加。< / p>

1 个答案:

答案 0 :(得分:0)

DEMO:http://jsfiddle.net/tHezS/1/

我也简化了你的代码。

$(".button_toggle").on(mouseup, function(evt){
    // If this is already toggled. Remove this class, and the class of the 'X'
    if($(this).hasClass("button_toggle_selected")){
        $(this).removeClass("button_toggle_selected");
        $(".button_x_icon_toggle").removeClass("button_toggle_selected");
    }else{
        //Remove .button_toggle_selected from other .button_toggle's
        //Add .button_toggle_selected to this element.
        $('.button_toggle.button_toggle_selected').removeClass('button_toggle_selected');
        $(this).addClass('button_toggle_selected');                
    }
});