重叠类和点击事件就可以了

时间:2014-01-13 19:51:52

标签: jquery html css

我有一个教程的HTML页面,每次选择不同的按钮时都会更改页面字体大小。下面是我的html代码和Js代码。

<div id="switcher" class="switcher">
    <h3>Style Switcher</h3>
    <button id="switcher-default">
        Default
    </button>
    <button id="switcher-narrow">
        Narrow Column
    </button>
    <button id="switcher-large">
        Large Print
    </button>
</div>

JS:

$(document).ready(function() {
    $('#switcher-default').addClass('selected').on('click', function() {
        $('body').removeClass('narrow').removeClass('large');
    });

    $('#switcher-narrow').on('click', function() {
        $('body').addClass('narrow').removeClass('large');
    });


    $('#switcher-large').on('click', function() {
        $('body').removeClass('narrow').addClass('large');
    });

    $('#switcher button').on('click',function(){
        $('#switcher button').removeClass('selected');
        $(this).addClass('selected');
    })

});

问题: 1.当我点击#lifther-default按钮时,将首先触发哪个事件?是吗

$('#switcher-default').addClass('selected').on('click'

$('#switcher button').on('click',function(){
  1. 事件触发器的基本规则是什么?

2 个答案:

答案 0 :(得分:1)

试试这个:

 $(document).ready(function() { 

       $('#switcher-default').on('click', function() {
            $('#switcher button').removeClass('selected');
            $(this).addClass('selected');
            $('body').removeClass('narrow').removeClass('large');

        });

        $('#switcher-narrow').on('click', function() {
            $('#switcher button').removeClass('selected');
            $(this).addClass('selected');
            $('body').addClass('narrow').removeClass('large');
        });


        $('#switcher-large').on('click', function() {
           $('#switcher button').removeClass('selected');
            $(this).addClass('selected');
            $('body').removeClass('narrow').addClass('large');
        });
});

答案 1 :(得分:0)

JQuery事件处理程序总是按它们绑定的顺序执行。

someobject.click(somefunction)
someobject.click(someotherfunction)

在这个例子中,在调用事件时,某些函数将始终在某个函数之前执行。如果您想要解决此问题,请参阅this other question

有关您的特定示例,请参阅this jsfiddle。通过消息框完成后,确定框架的工作方式非常简单。