jquery - jquery 刷新 div 后链接不起作用

标签 jquery dialog onclick

我正在尝试在我的社交网站上添加阻止用户/取消阻止用户。我可以让它阻止用户或取消阻止,但是一旦带有链接的 div 刷新,链接将不再显示对话框,所以基本上链接在刷新时就会失效。

// Block user
$(document).ready(function() {

$('#bottomcontain').append('<div id="blockconfirm"></div><div id="unblockconfirm"></div><div id="blockmsg"></div>');

    sentTime = null;
function startTimer() {
    sentTime = window.setTimeout(function() { $("#blockmsg").dialog('close'); }, 3000);
}
$("#blockmsg").dialog({
    autoOpen: false,
    draggable: false,
    resizable: false,
    model: true,
    title: 'Block Settings Changed',
    open: function() {
        clearTimeout(sentTime);
        startTimer();
    },
    buttons: {
        "Ok": function() {
            $('#blockmsg').dialog('close');
        }
    }
});

$('#blockconfirm').dialog({
    autoOpen: false,
    draggable: false,
    resizable: false,
    modal: true,
    title: 'Block User',
    buttons: {
        "Yes": function() {
            $.ajax({
                type: 'POST',
                url: 'windows.php?method=blockuser',
                dataType: 'json',
                data: {
                    block_id: profile
                },
                success: function(data){
                    if(data.error == false){
                        $('#blockconfirm').dialog('close');
                        $('#blockarea').load('profile.php?uid=' + profile + ' #unblockuser');
                        $('#blockmsg').load('windows.php?method=blockmsg1').dialog('open');
                    }
                    if(data.error == true){
                        $('#blockerr').html('&nbsp;'+ data.msg).removeClass().addClass('ui-state-error').show(500);
                    }
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    $('#blockerr').removeClass().addClass('ui-state-error').text('There was an error.').show(500);
                }
            });
        return false;
        },
        "No": function() {
            $('#blockconfirm').dialog('close');
        }
    }
});

$('#unblockconfirm').dialog({
    autoOpen: false,
    draggable: false,
    resizable: false,
    modal: true,
    title: 'Unblock User',
    buttons: {
        "Yes": function() {
            $.ajax({
                type: 'POST',
                url: 'windows.php?method=unblockuser',
                dataType: 'json',
                data: {
                    block_id: profile
                },
                success: function(data){
                    if(data.error == false){
                        $('#unblockconfirm').dialog('close');
                        $('#blockarea').load('profile.php?uid=' + profile + ' #blockuser');
                        $('#blockmsg').load('windows.php?method=blockmsg2').dialog('open');
                    }
                    if(data.error == true){
                        $('#blockerr').html('&nbsp;'+ data.msg).removeClass().addClass('ui-state-error').show(500);
                    }
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    $('#blockerr').removeClass().addClass('ui-state-error').text('There was an error.').show(500);
                }
            });
        return false;
        },
        "No": function() {
            $('#unblockconfirm').dialog('close');
        }
    }
});

$('#blockuser').click(function() {
$('#blockconfirm').load('windows.php?method=blockconfirm').dialog('open');
return false;
});

$('#unblockuser').click(function() {
$('#unblockconfirm').load('windows.php?method=unblockconfirm').dialog('open');
return false;
});
});

最佳答案

您可以尝试使用 jQuery live事件或delegate 。即使 DIV 的内容更新,两者也将起作用。

关于jquery - jquery 刷新 div 后链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409841/

相关文章:

javascript - 在普通 JavaScript 中单击共享相同类的另一个元素时如何隐藏一个元素?

当鼠标快速移动时,jQuery mouseleave 函数不会被触发

jquery - 使用 JQuery 模式对话捕获响应

javascript - 前进和后退按钮在插入符号位置处使用react

javascript - 使用 themeroller css 时 jquery 对话框的问题

jquery - 单击按钮打开 Kendo 提示自定义对话框

javascript - HTML 不执行 OnClick 脚本

javascript - 将 CSS 应用于 JQuery 工具提示

api - 使用 jQuery 的 Dynamics CRM 2011 REST API

javascript - 当 javascript 值插入到 .net 文本框时,document.getElementsByName(...)[0] 未定义