【问题标题】:jQuery dialog button confirm before opening URL在打开 URL 之前确认 jQuery 对话框按钮
【发布时间】:2013-05-21 21:23:11
【问题描述】:

如果我想继续打开 URL 链接,我很难创建一个会弹出对话框“确认”的按钮。但是,当我点击“google”按钮时,它会在我点击“ok”查看之前自动将我定向到 google 网站。我不知道我做错了什么。

你可以在这里查看 jsfiddle:http://jsfiddle.net/uRGJD/76/

HTML:

<button class="open" onclick="window.open('http://google.com')">Google</button>

<div class="unique">Are you sure you want to continue?</div>

JS:

$(function() {
    $('.open').on("click", function(e) {
        var link = this;

        e.preventDefault();

        $('.unique').dialog({
            buttons: {
                "Ok": function() {
                    window.location = link.href;
                },
                "Cancel": function() {
                    $(this).dialog("close");
                }
            }
        });
    });
});

CSS:

.unique {display: none;}

谢谢你!

【问题讨论】:

    标签: jquery function button dialog popup


    【解决方案1】:

    &lt;button class="open"&gt;Google&lt;/button&gt;

    从您的&lt;button&gt; 中删除 onclick 事件。

    另外,您只是在创建 jQueryUI 对话框。您实际上需要打开它。我建议查看此小部件的 jQueryUI 文档。

    【讨论】:

    • 谢谢。我删除了 onClick 并更改了 window.location = link.href;到 window.open("google.com"); 它工作正常;但是,通过指定 'google.com' 我将无法创建新 URL 的按钮。有什么办法吗?
    【解决方案2】:

    问题是您正在内联调用 window.open 函数。

    把它拿出来放在一个叫做 doGoogle 之类的函数里。然后将doGoogle函数放入ok函数调用中。

    .dialog 将初始化对话框的打开,只要 div 像你一样存在

    贾德森

    【讨论】:

    • 谢谢。我删除了 onClick 并更改了 window.location = link.href;到 window.open("google.com"); 它工作正常;但是,通过指定 'google.com' 我将无法创建指向新 URL 的按钮。有什么办法吗?
    • 是的,您需要将变量传递给 window.open,因此当您调用对话框函数时,请设置一个变量,如 URL="google.com" 然后在按钮中将其引用为 window.open(URL)
    【解决方案3】:

    我使用的另一种方法是将 .dialog 包装在类似 showDialog(URL) 的函数中

    这样您就可以将 URL 传递给按钮

    所以你可以这样称呼它:onclick="showDialog("google.com")

    那么你的按钮就会有

    window.location.href=网址

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多