1

我不明白为什么即使我点击“否”,这个确认()调用也会触发。你能告诉我我做错了什么吗?

$('.deleteButton').livequery('click',function(){
        if(confirm('Are you sure?')){
            return true;
        }else
        {
            return false;
        }
        return false;
    });

HTML 标记:

<a class="smallbutton deleteButton" href="users.php?todo=delete&id=32">delete</a>

我检查了一下,它确实返回 false,但页面仍然重定向到单击的 A href 值。通常,如果我返回 false,它不应该,对吧?

4

4 回答 4

1
<a id="myId_1" href="#" class="deleteButton">delete</a>

$('.deleteButton').livequery('click',function(e){
        e.stopPropagation();
        if(confirm('Are you sure?')){
            functionForDelete($(this).attr("id").split("_")[1]);
        }
});

// OR ir you like goto href

<a id="myId1" href="url/delete/id.php?1" class="deleteButton">delete</a>
$('.deleteButton').livequery('click',function(e){
        e.stopPropagation();
        if(confirm('Are you sure?')){
            window.location=$(this).attr("href");
        }
});
于 2009-10-27T14:40:09.357 回答
0

将 livequery() 更改为 live()。jQuery 支持相同的功能。刚刚在 FF 中进行了测试,它与 live() 一起工作,但从未给我一个 livequery() 提示

于 2009-10-27T14:43:09.067 回答
0

试试这个:

$('.deleteButton').livequery('click',function(e){
    if (confirm('Are you sure?')) {
        return true;
    } else {
        if (e.preventDefault) {
            e.preventDefault();
        } else {
            e.returnValue = false;
        }
        return false;
    }
});
于 2009-10-27T14:43:28.413 回答
0

我很抱歉:事实证明我在主内容容器内的所有锚点上附加了另一种行为。我为 deleteButton 添加了排除条款,它现在可以正常工作。

这是我的最终工作代码:

var $tabs= $("#tabs").tabs({
        fx: {
            opacity: 'toggle'
        },
        load: function(event, ui) { 

            $('a', ui.panel).livequery('click',function() {

                // we need to exclude the listNav buttons AND deleteButton buttons from this behavior

                if($(this).parent().is(':not(".ln-letters")') && $(this).is(':not(".deleteButton")')){

                    $(ui.panel).load(this.href);
                    return false;
                }
            });
        }
    });

删除按钮的行为很简单:

$('.deleteButton').live('click',function(e){
    return confirm('Are you sure?');
});
于 2009-10-27T15:51:46.700 回答