2012-08-30 2 views
1

누구나 매개 변수를 사용하여 extlib에서 tooltipDialog를 여는 방법을 알고 있습니다.dojo를 사용하십시오. 매개 변수를 사용하여 페이지의 모든 링크에 대한 tooltipDialog

(csjs 내) 웹 페이지의 모든 링크를 찾아 마우스 오버에 바인딩합니다. 링크의 키를 사용하여 어떤 링크를 클릭했는지 알았습니다.이 키를 toolTipDialog에 보내서 문서를 찾고 tooltipDialog에 문서 데이터를 표시하는 데 사용할 수 있습니다.

현재 툴팁 대화 상자를 여는 유일한 방법은 매개 변수를 허용하지 않는 것으로 보이는 XSP.openTooltipDialog ("tooltipid", 'linkid')를 사용하는 것입니다.

이 문제를 해결하는 방법

+0

, 팝업을 열고 dijit.popup의 API를보고 있으면 말해. 그것은 노드 주위에 위치를 계산하고 설정합니다 - mouseover에서 eventTarget이 될 – mschr

답변

1

이 내용은?

require(["dijit/TooltipDialog", "dijit/popup", 
    "dojo/on", "dojo/dom", "dojo/_base/lang"], 

    function(ready, TooltipDialog, popup, on, dom, lang){ 

     var myTooltipDialog = new TooltipDialog({ 
      id: 'myTooltipDialog', 
      style: "width: 300px;", 
      contentTemplate: "<p>Key is: {key}</p>", 
      content: 'empty', 
      onMouseLeave: function(){ 
       popup.close(myTooltipDialog); 
      }, 
      onOpen: function(pos) { 
       this.set("content", lang.replace(this.contentTemplate, this.replaceObject)); 
      } 
     }); 
                    /
     query('a.hasSelectorClass').on('mouseover', function(){  // 
      myTooltipDialog.replaceObject = {      // 
       key : this.innerHTML // (inner text in anchor node) 
      } 
      popup.open({ 
       popup: myTooltipDialog, 
       around: this // anchor 
      }); 
     }); 
}); 

그것을 시도하고 오류 (테스트되지 않은 코드) :

+0

어디에서이 코드를 작성합니까? –

+0

레이아웃이 어땠는지 알지 못합니다. 필요한 자바 스크립트입니다. '대신에 csjs에서 나는 webapage에있는 모든 링크를 찾아 mouseover에 바인딩합니다.' – mschr