我一直在寻找很长一段时间没有成功。我想检测特定的 jquery ui 对话框何时失去焦点。我知道我可以像这样检测到它何时获得焦点:
focus: function(event, ui) { console.log('focus in: '+this.id); }
但是,我尝试过的任何方式都不会触发 focusout 事件:
focusout: function(event, ui) { console.log('focus out: '+this.id);}
这是我的(PHP 回显)代码:
<script type=\"text/javascript\">
$(\"".$element."\").click(function(e){
$(\"#".$divname."\").load('".$url."').dialog({
title: '".$title."',
modal:".$modal.",
resizable: true,
width:'".$width."',
height:'".$height."',
show: 'clip',
hide: 'clip',
open: function(event, ui) {\$(\".ui-widget-overlay\").css({'background-image': 'url(\"../css/stripe_small.png\")','background-repeat':'repeat', 'opacity':'0.8'})},
minimize: '#toolbar',
focus: function(event, ui) { console.log('focus in: '+this.id); },
focusout: function(event, ui) { console.log('focus out: '+this.id);}});
});
</script>
<div id=\"".$divname."\"></div>";
一切正常,除了焦点外检测。有没有办法做到这一点,或者我必须迭代所有窗口元素来找出哪个有焦点?
编辑:或者,我想知道是否可以找到哪个 UI 对话框是前面的那个。