web-dev-qa-db-ja.com

JavaScript:確認ボックスでデフォルトで「キャンセル」を選択する方法は?

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

alt text

画像では、デフォルトで「OK」ボタンが選択されています。デフォルトで[キャンセル]ボタンを選択したいので、ユーザーが誤って enter キー、レコードは安全であり、削除されません。

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

33
Prashant

JQueryプラグインを使用できる場合は、こちらが素晴らしいプラグインです

jQuery Imprompt

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

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

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

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

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

11
Maiku Mori

そんなことはできないと思います。

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

agree = (Prompt("Type 'y' to accept", '') == 'y');
7
Lukman