2016-07-18 13 views
2

dijit/form/SelectToolTipDialogにします。ダイアログのmouseleaveeventを設定します。ただし、オプションを選択しようとするとイベントが発生します。tooltipdialogの選択オプション操作で選択を禁止する方法onmouseleaveイベント

フィドルリンク:select changes will trigger tooltipdialog onmouseleave

<script> 
    require([ 
     "dojo/parser", 
     "dijit/registry", 
     "dijit/TooltipDialog", 
     "dijit/form/Select", 
     "dijit/popup", 
     "dojo/on", 
     "dojo/dom", 
     "dojo/domReady!" 
    ], function(parser,registry,TooltipDialog,Select, popup, on, dom){ 
     parser.parse(); 

     var selHucode=""; 

     var myTooltipDialog = new TooltipDialog({ 
      id: 'myTooltipDialog', 
      style:'height:180px', 
      style: "width: 300px;", 
      content: '<div id="tpDialog" class="pDlg"></div><div id="btnGroup" class="left"><label for="name">selectP:</label> <input data-dojo-type="dijit/form/RadioButton">' + 
     '<br><label for="hobby"> 1111:</label> <input data-dojo-type="dijit/form/RadioButton"></div>' 
     +'<div id="selectMenu" class="right"> <select name="select1" id="sel" data-dojo-type="dijit/form/Select"> <option value="TN">Tennessee</option>'+ 
     '<option value="VA" selected="selected">Virginia</option></select></div>' , 
      onMouseLeave: function(e){ 

       popup.close(myTooltipDialog); 
      }, 
     onOpen:function(e){ 

      var sHu=registry.byId("sel"); 

      sHu.on("focus",function(e){ 
       console.log(e); 
      }) 
      selHucode=sHu.value; 
    //  console.log(sHu.value); 
     } 
     }); 



     on(dom.byId("ttt"),"mouseover" , function(e){ 

      popup.open({ 
       popup: myTooltipDialog, 
       orient: ["above-centered","above","below"], 
       around:dom.byId('ttt') 

      }); 

     }); 


    }); 
</script> 

<span id="ttt" > tttt</span> 

答えて

1

それはとても簡単です: あなたTooltipDialog onMouseLeaveイベントチェックにマウスを選択使用してregistrygetEnclosingWidget方法をホバリングされている場合、それがあなたの選択に対応する場合('select1')を入力して閉じないようにします。ここ

は、あなたが変更しますコードです:あなたがチェックしたい場合はここで

onMouseLeave: function(e){ 
    if(registry.getEnclosingWidget(e.target).name=="select1") return; 
    popup.close(myTooltipDialog); 
} 

はフィドルです:Fiddle

+0

はありがとうございました! @ bRIMOs Bor –

+0

@BaohuaChuあなたは大歓迎です:)、 それを受け入れる答えアイコン√(答えを残してください)をクリックしてください他の人に役立つかもしれません ありがとうございます。 –

関連する問題