저는 AngularJS 1.3.0-beta.2, jQuery 2.1.0, Angular UI 0.11 및 Angular UI의 Tooltip 위젯의 커스텀 버전을 사용하고 있습니다. 클릭하면 툴팁 내에서 버튼을 클릭하여 툴팁을 닫으려고합니다.어떻게 다른 처리기에서 angularjs 이벤트 처리기를 트리거 할 수 있습니까?
의 핵심 부분은 crud_tooltip.js에있다 : 372 :
scope.closePopup = function() {
var trigger = element.prev();
if (scope.mode === 'timeout') {
$timeout(function() {
trigger.triggerHandler('click');
});
}
else {
trigger.triggerHandler('click');
}
};
$ 제한 시간 작업을 사용하여 버전,하지만 버튼을 클릭하고 팝업 가까이 보는 사이에 눈에 띄는 지연이있다.
$ timeout을 사용하지 않는 버전에서는 [$ rootScope : inprog] $이 이미 적용 중입니다.. 어쨌든 팝업을 닫습니다 ... 왜 그런지 모르겠습니다.
사용자가 툴팁 내에서 버튼을 클릭 할 때 즉시 툴팁을 닫기 위해 closePopup (또는 클릭을 호출하는 클릭)을 어떻게 수정할 수 있습니까?
참고 : this Plunker을 지침으로 사용하여 각도 UI의 툴팁 코드에서 custom_tooltip.js 코드를 변경했습니다. 나는 또한 tt_isOpen 값을 직접 변경하고 새로운 crudtooltip-toggle 속성을 정의하려고 시도했다.
감사합니다, 나는 전에 그 부분을 놓친 방법을 모른다! 코드 복잡성과 관련하여 ui-bootstrap-tooltip으로 범위 분리를 지원하도록 변경되었으며 다시 Simple-ish Plunkr 예제로 변경되었습니다. Plunkr에서는 지나치게 복잡하지만 내 코드 기반에서는 그렇지 않습니다. – Aaron