0
我有一個令人生厭的問題。我有一個表,其中包含文本輸入和選擇的行。我有自定義方法,我已經定義,在代碼中調用時,或在控制檯中,它不綁定click事件的任何選擇。只有文本輸入。但是,如果我直接在控制檯中複製並粘貼方法的代碼,它就可以正常工作。以下是我的代碼。作爲一種方法調用時,jquery事件綁定將不起作用,但直接在控制檯中調用時,jquery事件綁定將不起作用
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代碼複製並粘貼到控制檯中。不知所措。
在此先感謝!
它可能是'this'的範圍的問題。調用控制檯中的代碼與事件的區別在於,在控制檯'$(this)'='window'與點擊事件'$(this)'='$('#table2 .ui-icon-pencil 「)' – zeal