36

ユーザーが[データの削除]ボタンをクリックすると、JavaScriptの確認ボックスが表示されます。私はこの画像に示されているようにそれを表示しています:

代替テキスト

画像では、デフォルトで「OK」ボタンが選択されています。enterユーザーが誤ってキーを押した場合にレコードが安全になり、削除されないように、デフォルトで[キャンセル]ボタンを選択したいと思います。

JavaScriptでデフォルトで「キャンセル」ボタンを選択する方法はありますか?

4

4 に答える 4

14

それはできませんが、DOM要素を使用して表示される独自のダイアログを使用/作成できます(フェニックスが提案したように、特定のjQueryプラグインである必要はありません。独自に作成するか、別のプラグインを使用できますJS フレームワーク)。

「jQuery + プラグイン X を使用する」という回答が煩わしくなり始めています。そこには多くの JS ライブラリとさらに多くのプラグインがあります。たとえば、カスタム ダイアログを表示するだけの場合は、ここで JS ライブラリを使用する必要はありません。これは簡単な解決策/回答ですが、そのような回答は長期的には害を及ぼします。一般的に、JavaScript やプログラミングに不慣れな人は、jQuery やプラグインが唯一の方法であり、独自の 3 行を記述するためだけに 50kb 以上のライブラリを含めていると考え始めます (ライブラリを使用しないこともあります :D)。

私の意見では、Markus Johnsson のコメントが最良の回答です。それが投稿されていないのは残念です。

于 2009-11-09T08:12:10.627 に答える
9

あなたがjQueryプラグインを使うことができるなら、ここに素晴らしいものがあります

jQuery Impromptu

デフォルトのフォーカスされたボタンを変更するには:

$.prompt('Example 4',{ buttons: { Ok: true, Cancel: false }, focus: 1 });
于 2009-11-09T07:41:27.117 に答える
7

私はあなたがそれを行うことができるとは思わない.

ただし、ユーザーが入力ボックスに「y」と入力するように強制するなど、ユーザーが誤って確認に「同意」することを確実に難しくすることができます。

agree = (prompt("Type 'y' to accept", '') == 'y');
于 2009-11-09T07:38:42.920 に答える
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>

于 2021-02-17T20:35:22.030 に答える