当作为方法调用时,Jquery事件绑定将不起作用,但在控制台中直接调用时

时间:2012-08-23 17:41:54

标签: javascript jquery

我有一个令人抓狂的问题。我有一个表,其中包含由文本输入和选择组成的行。我有自定义方法,我已经确定在代码中调用时,或者在控制台中,它不会将click事件与任何选择绑定。只有文字输入。但是,如果我直接在控制台中复制并粘贴方法的代码,它就可以正常工作。以下是我的代码。

addEditHandler : function(){
                    $('#table2 .ui-icon-pencil').click(function(){
                            $(this).parent().parent().parent().addClass("editing").find('input, select').removeAttr("readonly").css("background-color","white");
                            $('#table2 .ui-icon-disk').eq($(this).parent().parent().parent().index()).show();
                            $('#table2 .ui-icon-trash').eq($(this).parent().parent().parent().index()).show();
                            $('#table2 .ui-icon-triangle-2-n-s').eq($(this).parent().parent().parent().index()).show();
                            $('#table2 .ui-icon-pencil').hide();
                            if(addComponents.getCurrentComponents(getBOM.rawXML).size()>0){
                                addComponents.add();
                                addComponents.populateComponents();
                            }

                    });
                },

我主要专注于这条主线:

 $(this).parent().parent().parent().addClass("editing").find('input, select').removeAttr("readonly").css("background-color","white");

调用此方法不会将格式应用于选择,只应用文本框。将EXACT代码复制并粘贴到控制台中可以。不知所措。

提前致谢!

1 个答案:

答案 0 :(得分:0)

仔细观察调试器表明它正在改变面部,但由于复制粘贴错误而在代码中进一步更改回原始状态。无法想象谁会这样做。 :)

课程学习,调试器是你的朋友。