内联确认后运行功能

时间:2014-04-07 14:09:44

标签: javascript jquery html

我想在内联确认后运行所有jQuery代码,这可能吗?

类似的东西:

<a href="" onclick="return confirm('are you sure ?')" > test link </a>

我想在上面的内联确认之后运行此代码:

$('body').on('click','a',function() {
    alert('clicked!');
});

对我而言,确认是内联的,而不是jQuery on click

4 个答案:

答案 0 :(得分:0)

这是适合您的代码。

<a href="#">  test link </a>

和jquery代码在下面可以帮助你。

$('body').on('click','a',function() {
    var msg = confirm('are you sure ?');
    if (msg){
        alert('ok is clicked');
    }else{
       alert("cancel is click")
    }
});

答案 1 :(得分:0)

你可以这样做,

function onConfirm()
{
    if (!confirm('are you sure ?')) 
       alert('clicked cancel');
    else
        alert('clicked confirmed');

};

 <a href="#"  onclick='onConfirm();'> test link </a>

答案 2 :(得分:0)

这个怎么样:

<a href="#" onclick="return confirmMessage('are you sure ?');"> test link </a>

function confirmMessage(msg) {
    if (confirm(msg)) {
        alert('confirmed');
    } else {
        alert('failed');
    }
}

<a href="#" onclick="whenConfirm(confirm('are you sure ?')).done(confirmed).fail(canceled);"> test link </a>

function whenConfirm(is_confirmed) {
    var d = $.Deferred();
    is_confirmed ? d.resolve() : d.reject();
    return d.promise();
}

function confirmed() {
    alert('confirmed');
}

function canceled() {
    alert('canceled');
}

答案 3 :(得分:0)

尽量避免使用内联点击处理程序。我还会在你打算进行此处理的锚点上设置一个类或id。否则,您将在文档中的每个锚元素上绑定此确认。

<a href="#whatever" class="confirm-me">Confirm</a>

$(document).on('click.confirm','a.confirm-me',function() { 
    if (confirm('Are you sure ?')){
        alert('ok is clicked');
        // Returns true;
    }else{
       alert("cancel is click");
        // Returns false;
    }
});