javascript - JQuery 对话框绑定(bind)事件到按钮

标签 javascript jquery jquery-ui dialog

我在使用 jQuery 时遇到了一些问题。我想在用户单击链接删除某些内容时出现一个对话框,并提示他们确定他们确实要删除它。该对话框看起来很好,但是当用户单击"is"按钮时,我看不到获取链接 url 的方法。我尝试使用 event.relatedTarget 属性获取 a 标记的 url,但它为空。有谁知道如何做到这一点?

代码

<div id="dialog" title="Delete Run">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 0 0;"></span>Are you sure you want to delete that run?</p>
</div>
$(document).ready(function() {
    $('#dialog').dialog({
        autoOpen: false,
        width: 400,
        modal: true,
        draggable: false,
        resizable: false,
        buttons: {
            "Yes": function(event) {
                //Go to the url in $("a.delete")
            },
            "No": function() {
                $(this).dialog("close");
            }
        }
    });

    $("a.delete").click(function(){
        var url = $(this).attr("href");
        $('#dialog').dialog('open');
        return false;
    });
});

最佳答案

<div id="dialog" title="Delete Run">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 0 0;"></span>Are you sure you want to delete that run?</p>
</div>
$(document).ready(function() {
    $('#dialog').dialog({
        autoOpen: false,
        width: 400,
        modal: true,
        draggable: false,
        resizable: false,
        buttons: {
            "Yes": function(event) {
                var url = $(this).data('url');
                window.location = url;
            },
            "No": function() {
                $(this).dialog("close");
            }
        }
    });

    $("a.delete").click(function(){
        $('#dialog').data('url', $(this).attr("href"));
        $('#dialog').dialog('open');
        return false;
    });
});

有点猜测,因为您的代码中没有元素 a.delete ? 使用 jQuery 的 data() 通常是比全局变量更好的选择。

关于javascript - JQuery 对话框绑定(bind)事件到按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8378208/

相关文章:

javascript - 我的 Meteor.users 架构每次都无法验证

javascript - Angular SPA 应用程序使其他 URL 仍然具有基于 URL 编号的高亮导航栏部分

javascript - 从 html 向函数传递值

javascript - jQuery 滚动顶部 : Each animation needs to be finished before jumping to the next one

javascript - 等待 lambda 初始化

javascript - 多次更改一张图片的边框

jquery - 你确定你要删除?

具有多个元素的 jQuery UI 可排序抛出 "TypeError: Cannot read property ' insertBefore' of null"

javascript - jQuery UI 单选按钮保持选中状态

javascript - 当鼠标移回处理程序元素时防止滑动事件