我可以停止<a> action?</a>

时间:2012-09-25 05:41:22

标签: javascript

基本上,如果我有<a href="" onclick="someFunction();"></a>下载文件。如果用户对confirm("Do you agree?")对话框拒绝,我们不希望让用户下载此文件。

这一切都是用HTML和Javascript完成的。一切都在客户端。

我们想杀死<a>继续。可能吗?或者我们可以推迟<a>吗?

由于

6 个答案:

答案 0 :(得分:4)

使用

return false;

在你的函数someFunction()中触发onclick事件。

答案 1 :(得分:3)

function someFunction() {
  return confirm("Do you agree?");
}

确认功能返回到用户的回答,someFunction将其返回到<a>的onclick。如果为false,则将停止链接到href。

答案 2 :(得分:1)

或使用preventDefault:

function someFunction(e) {
   if (!confirm('.. ')) e.preventDefault();

  // continue download
}

答案 3 :(得分:0)

您可以将false返回给onclick事件。

function someFunction()
{
    if(confirm("Do you want to download now ?")) {
        return true;
    }
    else
    {
        return false;
    }
}

<a href="http://www.google.com" onclick="return someFunction()">Click here</a>

答案 4 :(得分:0)

function someFunction() {
 if(confirm("Do you want to download now ?") ) {
     // download file code goes here
 } else {
   return false;
 }
} 

答案 5 :(得分:0)

<a href="" onclick="return someFunction();">Test</a>

function someFunction() {
  if (confirm("Do you agree?")) {
    /* some code if YES */
    return true;
  }
  else {
    /* some code if NO */
    return false;
  }
}

或者:

<a href="" onclick="someFunction(event);">Test</a>

function someFunction(event) {
  if (confirm("Do you agree?")) {
    /* some code if YES */
  }
  else {
    /* some code if NO */
    if (event.preventDefault) event.preventDefault();
    else event.returnValue=false;
  }
}