Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery事件绑定赢得';当作为方法调用时不起作用,但在控制台中直接调用时将起作用_Javascript_Jquery - Fatal编程技术网

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

Javascript Jquery事件绑定赢得';当作为方法调用时不起作用,但在控制台中直接调用时将起作用,javascript,jquery,Javascript,Jquery,我有一个恼人的问题。我有一个表,其中包含由文本输入和选择组成的行。我定义了一个自定义方法,当在代码中或控制台中调用时,它不会绑定任何选择的click事件。只有文本输入。但是,如果我直接在控制台中复制并粘贴该方法的代码,它就可以正常工作。下面是我的代码 addEditHandler : function(){ $('#table2 .ui-icon-pencil').click(function(){

我有一个恼人的问题。我有一个表,其中包含由文本输入和选择组成的行。我定义了一个自定义方法,当在代码中或控制台中调用时,它不会绑定任何选择的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");
调用此方法不会将格式应用于所选内容,只会应用于文本框。将准确的代码复制并粘贴到控制台中不起作用。茫然


提前谢谢

仔细查看调试器表明,调试器正在进行外观更改,但由于复制粘贴错误,在代码中被进一步更改回原始状态。无法想象谁会这么做。:)


第一课,调试器是您的朋友。

这可能是
范围的问题。在控制台中调用代码与在事件中调用代码的区别在于控制台中的
$(此)
=
窗口中的
与单击事件
$(此)
=
$(“#table2.ui图标铅笔”)