Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内联确认后运行函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 内联确认后运行函数

Javascript 内联确认后运行函数,javascript,jquery,html,Javascript,Jquery,Html,我想在内联确认后运行所有jQuery代码,这可能吗 大概是这样的: <a href="" onclick="return confirm('are you sure ?')" > test link </a> 对我来说,确认以内联方式进行,而不是在点击jQuery时进行,这一点很重要。以下是适用于您的代码 <a href="#"> test link </a> 你可以这样做 function onConfirm() { if (!co

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

大概是这样的:

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

对我来说,确认以内联方式进行,而不是在点击jQuery时进行,这一点很重要。

以下是适用于您的代码

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

你可以这样做

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

};

 <a href="#"  onclick='onConfirm();'> test link </a>
这个怎么样:

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

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


尽量避免使用内联单击处理程序。我还将在您打算进行此处理的锚点上设置一个类或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;
    }
});

您可以更改内嵌代码吗?更好的是,您可以将第一个函数移出HTML并改用事件处理程序吗?是的,或者在使用jquery创建后覆盖它。HTML内部的Javascript是许多问题的根源,正如我之前所说的,我无法将内联代码移动到事件处理程序。因为HTML元素在php文件中创建,我可以翻译确认消息。但在js文件中,我不能使用php代码,或者如果页面中有多个锚定标记,并且可以调用该标记上的click事件,则可以将类添加到锚定。
<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');
}
<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;
    }
});