2017-02-10 6 views
0

동일한 페이지에 여러 개의 활성 ACE 편집기가 있으며, 각각은 "변경 될 때"이벤트를 트리거해야합니다.에이스 편집장이 'onchange'이벤트를 실행하는 방법을 아는 방법은 무엇입니까?

editor[iGr].getSession().on('change', function(e) { 
    // e contains the change type and data 
some_code...; 
}); 

편집기가 트리거 한 콜백 기능을 어떻게 알 수 있습니까? 콜백으로 보내지는 전통적인 "e"객체는 데이터 변경 자체에 대한 정보만을 가지고 있지만 에디터 자체에는 정보가 없습니다. 그리고 "this"객체가 제 경우에는 유익하지 않습니다 (원시 코드를 포함하는 이름없는 함수의 배열).

미르가

+0

바로 편집자 배열을 사용하고 있습니다. 편집기의 색인은 초기화를 기반으로하는 편집기를 선택하는 데 도움이됩니다. –

+0

예,하지만 'onchange'기능을 사용하면 수신 된 개체에 어떤 편집기가 해고되었는지에 대한 정보가 없습니다. 지금은 모든 편집자에게 요청한 조치를 취하고 있습니다. 이는 그리 효율적이지 않습니다. 어쨌든, 당신의 제안에 감사드립니다. – user3047221

+0

'change'이벤트가 발생하면 개체 이벤트 'e'에 대해 이야기하고 있습니까? –

답변

0

사실,이 질문을 자신을 대답 할 수있는 어떤 도움

감사 : 변경 이벤트가 발생할 때 "E"는 이벤트 객체입니다. 콜백 함수가 작성된 컨텍스트를 사용할 수 있음을 발견했습니다. 이것은 기본 자바 스크립트입니다. 변수가 선언 된 경우 (즉, 편집기의 번호) 콜백 함수에서 볼 수 있습니다.