2016-05-06 4 views
0

以下のコードは、dojoのツールチップの標準例です。 マウスをダイアログから離したときにツールヒントの動作を停止する必要があります。 onMouseLeaveイベントをオーバーライドして、ユーザーがtooltipdialogueでボタンをクリックするまでツールチップを開いたままにする方法はありますか?dojo tooltipdialogueを使用しているときにonMouseLeaveイベントをオーバーライドする方法はありますか?

<!DOCTYPE html> 
<html > 
<head> 

<link rel="stylesheet" href="../_static/js/dojo/../dijit/themes/claro/claro.css"> 

<script>dojoConfig = {parseOnLoad: true}</script> 
<script src='../_static/js/dojo/dojo.js'></script> 

<script> 
require([ 
"dijit/TooltipDialog", 
"dijit/popup", 
"dojo/on", 
"dojo/dom", 
"dojo/domReady!" 
], function(TooltipDialog, popup, on, dom){ 
var myTooltipDialog = new TooltipDialog({ 
    id: 'myTooltipDialog', 
    style: "width: 300px;", 
    content: "<p>I have a mouse leave event handler that will close the dialog.", 
    onMouseLeave: function(){ 
     popup.close(myTooltipDialog); 
    } 
}); 

on(dom.byId('thenode'), 'mouseover', function(){ 
    popup.open({ 
     popup: myTooltipDialog, 
     around: dom.byId('thenode') 
    }); 
}); 
}); 
</script> 
</head> 
<body class="claro"> 
<div id="thenode">Move the mouse over me to pop up the dialog.</div> 

答えて

0

はい。 myTooltipDialog宣言からonMouseLeaveイベントハンドラを削除するだけです。また、イベントを処理する相手のボタンをクリックすると、ポップアップが閉じます(tooltipDialog)。

関連する問題