Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
将JQuery对话框居中_Jquery_Jquery Ui - Fatal编程技术网

将JQuery对话框居中

将JQuery对话框居中,jquery,jquery-ui,Jquery,Jquery Ui,我有一个JQuery对话框,设置为 position: 'center' 现在我运行一个数据库查询并返回一长串记录,每条记录都有一个“编辑”按钮。如果我向下滚动页面并单击记录的编辑按钮,jquery将打开我的对话框,并根据滚动位置居中显示对话框,但它也会将页面滚动回顶部,因此现在对话框不再居中 所以我的问题是 当对话框打开时,我可以阻止Jquery重置滚动位置吗 如何在不使用“中心”关键字的情况下将职位设置为中心 您必须使用一个您没有告诉我们的jQuery插件,因为“center”不是“pos

我有一个JQuery对话框,设置为

position: 'center'
现在我运行一个数据库查询并返回一长串记录,每条记录都有一个“编辑”按钮。如果我向下滚动页面并单击记录的编辑按钮,jquery将打开我的对话框,并根据滚动位置居中显示对话框,但它也会将页面滚动回顶部,因此现在对话框不再居中

所以我的问题是

  • 当对话框打开时,我可以阻止Jquery重置滚动位置吗

  • 如何在不使用“中心”关键字的情况下将职位设置为中心


  • 您必须使用一个您没有告诉我们的jQuery插件,因为“center”不是“position”属性的有效值。但是,我假设您已将编辑按钮设置为链接,其href值设置为“#”。这就是导致跳跃的原因。要防止出现这种情况,请在该按钮上的单击事件处理程序中返回false:

    $('a.edit').click(function () {
        // logic goes here
        return false;
    });
    

    您必须使用一个您没有告诉我们的jQuery插件,因为“center”不是“position”属性的有效值。但是,我假设您已将编辑按钮设置为链接,其href值设置为“#”。这就是导致跳跃的原因。要防止出现这种情况,请在该按钮上的单击事件处理程序中返回false:

    $('a.edit').click(function () {
        // logic goes here
        return false;
    });
    
    Tony,你的“按钮”实际上是一个链接,href设置为“#”,还有一个onclick处理程序,它完成真正的工作

    浏览器将其解释为“转到不存在的锚”,并转到页面顶部

    如果您使用的是jQuery事件,那么这个设计是正确的。如果要在标记中定义onclick处理程序,请执行以下操作:

    <a href="#" onclick="doSomething();return false();" ...
    
    Tony,您的“按钮”实际上是一个链接,href设置为“#”,并且是一个onclick处理程序,它执行真正的工作

    浏览器将其解释为“转到不存在的锚”,并转到页面顶部

    如果您使用的是jQuery事件,那么这个设计是正确的。如果要在标记中定义onclick处理程序,请执行以下操作:

    <a href="#" onclick="doSomething();return false();" ...
    

    这对我来说很有用

    在我的职责范围内

    function myedit()
    {
    ....
    return false;
    }
    
    通过链接

    <a href='#' onclick='return myedit();' >edit</a>
    

    这对我来说很有用

    在我的职责范围内

    function myedit()
    {
    ....
    return false;
    }
    
    通过链接

    <a href='#' onclick='return myedit();' >edit</a>
    

    我知道这是一篇老文章,但我遇到了这个问题,我的对话框没有居中,所以我想我会为其他可能遇到这个问题的人发帖。在我的页面中,我还使用了
    jquerydimensions
    插件


    如果我在
    jqueryui
    脚本之后加载
    dimensions
    脚本,它将中断对话框定位。在
    jqueryui
    之前加载,对话框按预期工作。

    我知道这是一篇旧文章,但我遇到了这个问题,我的对话框没有居中,所以我想我会为其他可能遇到这个问题的人发文章。在我的页面中,我还使用了
    jquerydimensions
    插件


    如果我在
    jqueryui
    脚本之后加载
    dimensions
    脚本,它将中断对话框定位。在
    jQuery UI
    之前加载,对话框按预期工作。

    您可以使用事件对象和preventDefault()方法防止页面跳转到顶部:

    $('a.edit').click(function (event) {
        event.preventDefault();
        // logic goes here
    });
    

    您可以使用event对象和preventDefault()方法防止页面跳转到顶部:

    $('a.edit').click(function (event) {
        event.preventDefault();
        // logic goes here
    });
    

    几年后,我也偶然发现了这一点。我只是希望这能帮助其他人寻找解决方案

    资料来源:


    几年后,我也偶然发现了这一点。我只是希望这能帮助其他人寻找解决方案

    资料来源:


    发生这种情况时,地址栏中URI的末尾是否会出现一个#符号?是的,我以前没有注意到。有什么想法吗?正如我们所说,您使用的是链接,而不是按钮,您需要返回false。发生这种情况时,地址栏中URI的末尾是否会出现一个#符号?是的,我以前没有注意到……有什么想法吗?就像我说的,你使用的是链接,而不是按钮,你需要返回false。这对我不起作用,我需要把return放在前面。返回后的任何东西都不会运行。这对我不起作用,我需要把return放在前面。返回后的任何东西都不会运行。