click事件是绑在控件上的而不是class,你把class改了事件还是保留的

解决方案 »

  1.   


    呵呵 我还是不是很明白 我应该怎么改呢。。
    你要什么效果 还有你的$(document).ready是在不同的js文件里还是1个里面 看你的代码都不知道要做什么效果
      

  2.   


    呵呵 我还是不是很明白 我应该怎么改呢。。
    你要什么效果 还有你的$(document).ready是在不同的js文件里还是1个里面 看你的代码都不知道要做什么效果下来菜单1  选择1    canvas class="title_01" 保证$('.title_01').click能触发    选择2 就变成了class="title_02" 保证$('.title_02').click能触发  选择3 就变成了class="title_03"    保证$('.title_03').click能触发
      

  3.   

    哈哈哈,最简单的方法就是把三个点击的click事件写在 $('#select_hai').change事件里面
      

  4.   

    我不是都写在里面了吗。。
    $(document).ready (function(){
                $("#myCanvas").click(function(){
                    $('.tcc').css("visibility","visible");
                });
            });你的title_01,title_02,title_03执行的都是$('.tcc').css("visibility","visible"); 直接拿id绑就可以了啊
    还要不要到处加$(document).ready 一个就够了
      

  5.   

    本帖最后由 showbo 于 2014-01-09 11:46:58 编辑
      

  6.   


    没办法我一定要用这个方法的 其他方法都不行 我刚刚unbind以后。。点击没反应了 纠结 前面已经改成$('.title_02').bind("click",function(){
          $('.tcc').css("visibility","visible");
        })
      

  7.   

    别用click绑定事件,用live或者on方法绑定事件试试咯,因为你用click绑定事件的时候canvas还没该class,所以没注册事件,后面加上了class貌似click不支持后面添加的
      

  8.   


    下来菜单1  选择1    canvas class="title_01" 保证$('.title_01').click能触发    选择2 就变成了class="title_02" 保证$('.title_02').click能触发  选择3 就变成了class="title_03"    保证$('.title_03').click能触发你有什么好的方法么。。我上面的代码肯定不行的 感觉要重写 给点思路哈
      

  9.   


    没办法我一定要用这个方法的 其他方法都不行 我刚刚unbind以后。。点击没反应了 纠结 前面已经改成$('.title_02').bind("click",function(){
          $('.tcc').css("visibility","visible");
        })你这2个class选择器不都是选择$('#myCanvas')这个对象,干么用class选择器?而且2个点击事件都执行的一样的代码,你写成2个干嘛?.comfire1这个也一样    $(document).ready(function () {
            xiaoguo_1();
            $('#myCanvas').click(function () {
                $('.tcc').css("visibility", "visible");
            });
            $('#comfire').click(function () {
                var getinput = $('#gettitle').val();
                xiaoguo_1(this.className == 'comfire1' ? "ggge" : 'fwe');
                $('.tcc').css("visibility", "hidden");
            })/*
            $('.comfire1').click(function () {
                var getinput = $('#gettitle').val();
                xiaoguo_1("ggge");
                $('.tcc').css("visibility", "hidden");
            })
            $('.comfire2').click(function () {
                var getinput = $('#gettitle').val();
                xiaoguo_2("fwe");
                $('.tcc').css("visibility", "hidden");
            })
            
            */
            $('#select_hai').change(function () {            var select_haibaos = $('#select_hai').val();
                switch (select_haibaos) {
                    case '1':
                        xiaoguo_1();
                        break;
                    case '2':
                        xiaoguo_2();
                        break;
                }        });
        })
        function xiaoguo_1(wenzi) {
            if (!arguments[0]) wenzi = "123";
            $('#myCanvas').removeClass();
            $('#comfire').removeClass();
            $('#myCanvas').addClass("title_01");
            $('#comfire').addClass("comfire1");
        }    function xiaoguo_2(wenzi) {
            if (!arguments[0]) wenzi = "123";
            $('#myCanvas').removeClass();
            $('#comfire').removeClass();
            $('#myCanvas').addClass("title_02");
            $('#comfire').addClass("comfire2");
        }
      

  10.   

            $('#comfire').click(function () {
                var getinput = $('#gettitle').val();
    if(this.className == 'comfire1')xiaoguo_1("ggge");
    else xiaoguo_2("fwe");

                $('.tcc').css("visibility", "hidden");
            })更新一下。调用的函数不一样,没注意看
      

  11.   


    下来菜单1  选择1    canvas class="title_01" 保证$('.title_01').click能触发    选择2 就变成了class="title_02" 保证$('.title_02').click能触发  选择3 就变成了class="title_03"    保证$('.title_03').click能触发你有什么好的方法么。。我上面的代码肯定不行的 感觉要重写 给点思路哈click() 触发、或将函数绑定到指定元素的 click 事件
    live() 为当前或未来的匹配元素添加一个或多个事件处理器
    这是w3cschool上面对着两个方法的解释,我觉得应该是你给dom元素加click事件的时候页面中此时没有class为2的,后面有了但click不能动态的给未来匹配的元素添加事件
    解决办法是1:通过live方法绑定事件试试
    2:在$('#myCanvas').addClass("title_02");这句话后面添加绑定事件,这种方法应该能解决问题具体没试,应该能行吧