【问题标题】:Javascript - rename confirm() buttonsJavascript - 重命名确认()按钮
【发布时间】:2014-04-05 19:44:27
【问题描述】:

默认情况下,confirm() 中有两个按钮:“确定”和“取消”。
有没有办法重命名它们?

【问题讨论】:

  • 没有。 confirm() 使用浏览器内置的对话框。无法更改按钮。
  • 当然,改变浏览器和操作系统的语言,它们就会改变,tada!
  • 从积极的方面来说,如果你不能重命名它们,你不应该担心它们的国际化——这完全是浏览器的工作。 )
  • 您应该担心标签并提供更多描述性文本而不是浏览器的通用标签。在按钮上设置“删除文件”比将其标记为“好的”不太可能搞砸(被误解)。
  • 不是替代品,但非常酷。 fabien-d.github.io/alertify.js

标签: javascript confirm


【解决方案1】:

https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-confirm

根据定义confirm()的标准,没有办法指定自定义按钮标签。

浏览器必须显示“肯定或否定”提示(例如确定/取消)以符合 HTML5。

【讨论】:

    【解决方案2】:

    不,没有。 Confirm 只接受一个参数,那就是消息本身。

    http://dev.w3.org/html5/spec-preview/user-prompts.html#dom-confirm

    请记住,这些对话框是模态的和阻塞的,这意味着一旦它们被执行,您将失去对程序流程的控制。如果您使用您选择的 JavaScript 库或构建您自己的 JavaScript 库来实现对话框,您会走上更安全的道路。

    【讨论】:

      【解决方案3】:

      有一种方法如果您使用自定义模式来确认。类似的东西:

      $(document).ready(function() {
        $('#btn').on('click', function () {
          myApp.confirm('Are you sure?', 'Title', function () {
            $('.btn-no').text("No");
            $('.btn-yes').text("Yes");
        });
      });
      

      【讨论】:

      • 那不是改变 confirm,那是不使用 confirm
      • @ChrisMartin 我想我说的很清楚:'custom modal to confirm' ;)
      • @IrfanMomin 它不会覆盖确定/取消按钮。这将使用另一种方式与自定义模式来处理这种情况。
      【解决方案4】:

      您无法更改默认确认弹出窗口的按钮。一种解决方法是在 JavaScript 中重新创建整个弹出窗口。一种这样的解决方法是http://jqueryui.com/dialog/#modal-confirmation

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 2017-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多