나는 현재 Flash 문서의 각 텍스트 요소 선택해야 다음 (쓸모없는) 코드가이 오류 결과, 놀랍게도선택 텍스트 나 모양 실패 : "enterEditMode은"선택을 요구
fl.outputPanel.clear();
var textFieldArray = fl.findObjectInDocByType("text", fl.getDocumentDOM());
fl.trace(textFieldArray.length);
for (var i=0; i < textFieldArray.length; i ++){
fl.selectElement(textFieldArray[i]);
}
을
"ObjectFindAndSelect.jsfl"파일의 232 행 : 'enterEditMode'에는 선택 항목이 필요합니다.
파일에 보면, selectElement
함수에 대한 코드는
flash.selectElement = function(elementData, editSymbol)
{
if (elementData.parent != undefined)
{
// go up one level
flash.selectElement(elementData.parent, true);
}
else
{
FlashUtils_debugString("flash.selectElement function: element is on the main timeline");
}
// select the layer, keyframe and element in the symbol instance
var layerIndex = FlashUtils_getIndexOfObject(elementData.timeline.layers, elementData.layer);
var frameIndex = FlashUtils_getIndexOfObject(elementData.layer.frames, elementData.keyframe);
if ((layerIndex >= 0) && (frameIndex >= 0))
{
// go to obj keyframe
elementData.timeline.setSelectedLayers(layerIndex);
elementData.timeline.setSelectedFrames(frameIndex, frameIndex);
// clear all selections in keyframe
fl.getDocumentDOM().selectNone();
// select the obj
elementData.obj.selected = true;
if (editSymbol)
{
// switch to editing the symbol item associated with instance
document.enterEditMode('inPlace');
}
}
else
{
FlashUtils_debugString("flash.selectElement function: parent: failed to get valid layerIndex: " + layerIndex + " or frameIndex: " + frameIndex);
}
}
그것은이 작동한다는 것을 나에게 분명한 것 같다; 개체의 selected
속성은 document.enterEditMode
호출 직전에 true로 설정됩니다. 이 함수를 고치면, 선택이 비 었는지 여부를 추적하여 elementData.obj.selected = true;
행 바로 뒤에 행을 추가하려고 시도했습니다. 코드는 다음과 같은 모습이 코드의
elementData.obj.selected = true;
fl.trace(fl.getDocumentDOM().selection.length);
출력은 0
했다.
왜이 오류가 발생합니까? 문제를 해결하기 위해 할 수있는 일이 있습니까?