【问题标题】:How to disable focus if dialog is opened如果打开对话框,如何禁用焦点
【发布时间】:2014-08-05 12:30:27
【问题描述】:
<script type="text/javascript">
setInterval(function(){
$("#reg_id").focus();
}, 1000);
</script>
如果打开对话框,如何禁用焦点
setInterval(function(){
if($("#dialogadd_participant").dialog("isOpen")){}
else {
$("#reg_id").focus();
}
}, 1000);
没有用,请帮忙
【问题讨论】:
标签:
javascript
php
jquery
focus
【解决方案1】:
使用.blur() 函数移除焦点,如下所示:
setInterval(function(){
if($("#dialogadd_participant").dialog("isOpen")){
$("#reg_id").blur();
}
else {
$("#reg_id").focus();
}
}, 1000);
【解决方案2】:
您可以通过调用任一方法将焦点从 #reg_id 转移到另一个对象,例如 #dialogadd_participant
$(this).focus() // within the .dialog({...}) section
或
$('#dialogadd_participant').focus() // after the model is opened
【解决方案3】:
将您的 setInterval 函数分配给一个变量,然后您可以使用 clearInterval 停止焦点。
var interval = setInterval(function(){
$("#reg_id").focus();
}, 1000);
if($("#dialogadd_participant").dialog("isOpen")){
clearInterval(interval);
$("#reg_id").blur();
}
else {
$("#reg_id").focus();
}
我不明白您使用setInterval() 的真正原因,但使用此clearInterval() 您可以一遍又一遍地清除调用$("#reg_id").focus();。