Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止在工具提示对话框中选择';s选择选项操作触发MouseLeave事件_Javascript_Dojo_Mouseevent_Mouseleave - Fatal编程技术网

Javascript 如何防止在工具提示对话框中选择';s选择选项操作触发MouseLeave事件

Javascript 如何防止在工具提示对话框中选择';s选择选项操作触发MouseLeave事件,javascript,dojo,mouseevent,mouseleave,Javascript,Dojo,Mouseevent,Mouseleave,使用ToolTipDialog中的dijit/form/Select。设置对话框的mouseleavevent。但当我尝试选择一个选项时,将触发该事件 小提琴链接: 要求([ “dojo/parser”, “dijit/注册表”, “dijit/TooltipDialog”, “dijit/form/Select”, “dijit/popup”, “dojo/on”, “dojo/dom”, “dojo/domReady!” ],函数(解析器、注册表、工具提示对话框、选择、弹出、打开、dom)

使用
ToolTipDialog
中的
dijit/form/Select
。设置对话框的
mouseleavevent
。但当我尝试选择一个选项时,将触发该事件

小提琴链接:


要求([
“dojo/parser”,
“dijit/注册表”,
“dijit/TooltipDialog”,
“dijit/form/Select”,
“dijit/popup”,
“dojo/on”,
“dojo/dom”,
“dojo/domReady!”
],函数(解析器、注册表、工具提示对话框、选择、弹出、打开、dom){
parser.parse();
var selHucode=“”;
var myTooltipDialog=新建TooltipDialog({
id:“myTooltipDialog”,
样式:'高度:180像素',
样式:“宽度:300px;”,
内容:'selectP:'+
“
1111:” +“田纳西州”+ “弗吉尼亚”, onMouseLeave:函数(e){ 弹出.关闭(myTooltipDialog); }, onOpen:功能(e){ var sHu=registry.byId(“sel”); 关于(“焦点”,功能(e){ 控制台日志(e); }) selHucode=sHu.value; //console.log(sHu.value); } }); on(dom.byId(“ttt”),“mouseover”,函数(e){ 打开({ 弹出:myTooltipDialog, 方向:[“居中上方”、“上方”、“下方”], around:dom.byId('ttt') }); }); });

tttt

很简单: 在工具提示对话框
onMouseLeave
事件中,使用
registry
GetEnclosuringWidget
方法检查鼠标是否悬停在select上,如果它对应于您的select名称
('select1')
,则阻止关闭

以下是您要更改的代码:

onMouseLeave: function(e){
   if(registry.getEnclosingWidget(e.target).name=="select1") return;
   popup.close(myTooltipDialog);
}
如果你想查看,这里有一把小提琴:

它很简单: 在工具提示对话框
onMouseLeave
事件中,使用
registry
GetEnclosuringWidget
方法检查鼠标是否悬停在select上,如果它对应于您的select名称
('select1')
,则阻止关闭

以下是您要更改的代码:

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

如果您想查看,这里有一把小提琴:

非常感谢!它根据您的帮助工作。@bRIMOsBor@BaohuaChu欢迎:),请点击接受回答图标√ (留下答案),可能对其他人有帮助。谢谢。非常感谢!它根据您的帮助工作。@bRIMOsBor@BaohuaChu欢迎:),请点击接受回答图标√ (留下答案),可能对其他人有帮助谢谢。
onMouseLeave: function(e){
   if(registry.getEnclosingWidget(e.target).name=="select1") return;
   popup.close(myTooltipDialog);
}