从页面后面的代码显示时,JQuery 对话框上的按钮焦点不起作用 - asp.net / c#

Posted

技术标签:

【中文标题】从页面后面的代码显示时,JQuery 对话框上的按钮焦点不起作用 - asp.net / c#【英文标题】:Button focus on JQuery Dialog doesn't work when showing from code behind the page - asp.net / c# 【发布时间】:2021-03-25 04:32:03 【问题描述】:

我从后面的代码中调用 confirmDialog 方法,该方法工作正常,但由于某些原因,焦点未设置在取消按钮上。当我点击弹出框外的模态灰色区域时设置焦点。

有没有办法在不点击页面的情况下将默认焦点设置在取消按钮上?

对话框打开后

鼠标点击灰色区域后;

这是代码;

 function confirmDialog() 

 $("#dialog-confirm").html("some message here");
 $("#dialog-confirm").dialog(
autoOpen: false,
resizable: false,
height: "auto",
width: "auto",
modal: true,
title: 'Warning!',
buttons: 
  "Ok": function() 
    $(this).dialog("close");
    return true;
  ,
  Cancel: function() 
    $(this).dialog("close");
    return false;
  
,
open: function() 
  $(this).siblings('.ui-dialog-buttonpane').find("button:contains('Cancel')").focus();

);

        return false;

【问题讨论】:

试试这样:$(".ui-dialog-buttonpane").find("button:eq(1)").focus(); 【参考方案1】:

您可以使用“nth-child(2)”搜索模态中的第二个按钮:

$(this).parent().find('button:nth-child(2)').focus();

DEMO

【讨论】:

不工作....我的代码甚至可以在小提琴中工作,但不能在浏览器上工作。 你用的是什么浏览器? Chrome 和 Edge 请再试一次。 相同。可能是我需要在几秒钟后添加计时器并设置焦点。

以上是关于从页面后面的代码显示时,JQuery 对话框上的按钮焦点不起作用 - asp.net / c#的主要内容,如果未能解决你的问题,请参考以下文章

在 jQuery Mobile 中显示对话框时页面从 DOM 中删除

Bootstrap 模态对话框选项卡在后面的页面中

jQuery 对话框未捕获控件 - IE 9.0

用jquery代码如何实现当我点击“查看”按钮时,在弹出窗口或弹出页面,显示数据库的详细数据

jquery 对话框在显示时更改它的 dom 位置

单击按钮时显示 jquery 数据表模式对话框不起作用