如何防止在工具提示对话框中选择's选择选项操作触发mouseleave事件
How to prevent select in tooltipdialog's select option operation trigger onmouseleave event
在ToolTipDialog
中使用dijit/form/Select
。设置对话框的mouseleaveevent
。但当我尝试选择一个选项时,该事件将被触发。
Fiddle链接:选择更改将在离开时触发工具提示对话框
<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>
非常简单:在TooltipDialog onMouseLeave
事件中,检查鼠标是否使用registry
getEnclosingWidget
方法悬停选择,如果它对应于您的选择名称('select1')
,则阻止关闭。
这是您要更改的代码:
onMouseLeave: function(e){
if(registry.getEnclosingWidget(e.target).name=="select1") return;
popup.close(myTooltipDialog);
}
如果你想检查的话,这里有一把小提琴:fiddle
相关文章:
- CKeditor:更改对话框中的默认选择选项
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- AngularJs列表ng单击以选择选项转换
- 使用基于文本的 Jquery 选择选项
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- 选择选项时如何显示警报
- 使用php动态更改选择选项
- 选择“选择选项”时显示文本.怎么做
- LEAFLET地图和带有选择选项的标记-ANGULARjs
- 使用js将动态内容添加到选择选项列表中
- 用于使用javascript循环选择选项
- AngularJS-选择选项并在函数中使用它
- 禁用/启用基于单选/选择选项所选Javascript的文本框
- 如何使用jQuery隐藏与选择选项相关的选择选项列表
- 选择选项是添加或删除事件
- 使用jQuery向“选择选项”添加默认属性
- 构建HTML选择字段并使用JavaScript数组选择选项
- 带有动态选择选项的Firefox html5验证异常
- 只有当Angular从资源对象检索数据时,才选择选项元素