안녕하세요 여러분,
JSL에서 두 개의 목록 상자에 대한 끌어서 놓기 동작을 구현하려고 합니다. 기본적으로 일반 목록 상자의 colListBox 개체에 이미 존재하는 끌어서 놓기 동작을 복제하려고 합니다. 즉, 사용자가 목록 상자의 항목을 클릭하고 클릭하여 다른 목록 상자로 끌어서 놓을 수 있습니다. 수신 드롭 상자에 대해 원하는 동작을 성공적으로 구현했지만 소스 드롭 상자에 어려움을 겪고 있습니다. 기본적으로 내가 원하는 동작을 구현하는 방법을 잘 모르겠습니다. 내가 얻은 가장 가까운 방법은 목록 상자의 상위 마우스 상자에 대해 클릭 설정 기능을 비활성화하고 드래그를 활성화한 다음 << 드래그 시작 설정 및 << 드래그 종료 설정 기능에 다음 코드를 넣는 것입니다.
<< 끌기 시작 설정(
함수({this, clickpt},
If( N 항목( (this << child) << Get Selected ) == 0,
(이 << 자식) << 선택 항목 설정(1);
0;
,//또 다른
test = ( (이 << 자식) << 선택됨 );
테스트[1];
);
);
);
이
<< 끌기 끝 설정(
함수({this, clickpt, How},
If( 어떻게 == "이동",
(이 << 하위) << 선택 항목 제거;
)
);
);
그러나 이렇게 하면 목록 상자에서 항목을 선택하기 위해 한 번 클릭이 작동하지 않고 사용자가 두 번 클릭해야 하며 그렇지 않으면 첫 번째 항목이 선택됩니다. 이것은 이상적이지는 않지만 내가 일할 수 있었던 전부입니다. 이에 대한 추가 정보에 대한 도움이나 조언을 주시면 감사하겠습니다.
두 번째로, 첫 번째 목록 상자에서 항목을 드래그할 때 드래그한 항목이 삭제되지 않는 경우가 있습니다. 이런 현상은 아주 간헐적으로 발생하는데 왜 이런 일이 발생하는지, 어떻게 해결해야 하는지 모르겠습니다. 감사해요.
더 빨리 돌아오지 못해 죄송합니다. 나는 다른 프로젝트에 끌려서 한동안 JSL을 다시 방문할 기회를 얻지 못했습니다. 이것은 나에게 큰 도움이 되었습니다. 댓글도 정말 좋아요. 웹에서 사용할 수 있는 MouseBox에 대한 추가 문서가 있는지 궁금하십니까? 나는 그것을 추적하는 데 많은 성공을 거두지 못했고 MouseBox의 메커니즘, 커밋 삭제 등에 대한 더 많은 정보를 원합니다. 건배!