如何从确认对话框插件返回布尔值?

Maz*_*har 5 javascript jquery

在JavaScript中,他们确认对话框,在单击是或否按钮时返回true或false.

if (confirm('Your question')) { 
   // do things if OK
}
Run Code Online (Sandbox Code Playgroud)

但它不可自定义,可以在单击弹出窗口中的复选框时停止.

所以我想使用JQuery确认或对话插件.但是我找到的插件,不会返回true或false.它带有按钮功能,我无法通过按钮功能返回true或false.

有没有办法在jQuery中返回像Boolean这样的变量确认?

Afz*_*han 4

$('.dialog button').click(function () {
  if($(this).attr('class') == 'true') {
    $('p').text('Ok was clicked');
  } else {
    $('p').text('Cancel was clicked');
  }
});
Run Code Online (Sandbox Code Playgroud)
.dialog {
  background-color: #cecece;
  border: 1px solid #000;
  padding: 1%;
  font-family: 'Segoe UI';
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dialog">
  <button class="true">Ok</button>
  <button class="false">Cancel</button>
</div>
<p></p>
Run Code Online (Sandbox Code Playgroud)

回答

您可以确定当时单击的是哪个按钮。例如,对话框具有带有 true 或 false 类的按钮。喜欢

<div class="dialog">
   <button class="true">Ok</button>
   <button class="false">Cancel</button>
</div>
Run Code Online (Sandbox Code Playgroud)

你可以将 jQuery 处理为

$('.dialog button').click(function () {
   if($(this).attr('class') == 'true') {
      // OK was clicked
   } else {
      // cancel was clicked.
   }
}
Run Code Online (Sandbox Code Playgroud)

这只是一种方法,您甚至可以使用data-标签来添加更多功能。但我不认为 JavaScript 中有任何布尔值(jQuery 是 JavaScript 库;它只具有 JavaScript 具有的功能)。

你可以尝试上面的代码来测试一下。它也有基本的样式,按钮用于确定用户选择的是真还是假。这是一个自定义确认框。jQuery 处理它,然后根据条件将值写入p.