JavaScript:如何在确认框中默认选择“取消”?

时间:2009-11-09 07:33:38

标签: javascript jquery confirm

当用户点击“删除数据”按钮时,我正在显示一个JavaScript确认框。我正在显示它,如下图所示:

alt text

在图像中,默认选择“确定”按钮。我想默认选择“取消”按钮,这样如果用户意外按下输入键,记录将是安全的,不会被删除。

在JavaScript中有没有办法默认选择“取消”按钮?

4 个答案:

答案 0 :(得分:11)

你不能这样做,但是你可以使用/编写你自己的对话框,它使用DOM元素显示(如凤凰建议,它不一定是那个特定的jQuery插件,你可以编写自己的或使用来自另一个JS框架的插件)。

“使用jQuery +插件X”的答案开始变得烦人。有很多JS库,还有更多的插件。例如,如果您只想显示自定义对话框,则不需要使用任何JS库。虽然这是一个快速的解决方案/答案,但从长远来看,这样的答案会带来更大的伤害。初学JavaScript或编程的人开始认为jQuery和/或插件是唯一的方法,他们包括50kb +库只是为了编写自己的3行(有时甚至不使用库:D)。

在我看来,马库斯·约翰逊的评论是最好的答案,遗憾的是它没有作为一个发布。

答案 1 :(得分:10)

如果你可以使用jQuery插件,那么这是一个很好的

jQuery Impromptu

更改默认的焦点按钮:

$.prompt('Example 4',{ buttons: { Ok: true, Cancel: false }, focus: 1 });

答案 2 :(得分:6)

我认为你不能那样做。

但是你肯定会让用户更难以“同意”确认,例如强迫用户在输入框中输入“y”:

agree = (prompt("Type 'y' to accept", '') == 'y');

答案 3 :(得分:0)

这对我有用

function confirmAction(){
  if(prompt("Type 'YeS' to confirm, this action is irreversible.", '') == 'YeS'){
      another();
  }else{
    alert("Canceled!!!");
  }
}
function another(){
  alert("suuccess");
}
<button onClick="return confirmAction()">Confirm</button>