我们可以创建一个带有自定义div和message的Javascript确认框吗

我们可以创建一个带有自定义div和message的Javascript确认框吗,javascript,Javascript,我需要一个带有自定义设计和动态消息的javascript确认框 我的问题是:我需要一个函数来调用那个调用,我怎样才能收到弹出的结果;(如是或否)。可能吗 代码 我想用我的自定义样式覆盖确认,制作一个允许用户响应的隐藏div怎么样 <div id="confirm" class="noshow"> <div id="messageContent" class="message"></div> <div id="okButt

我需要一个带有自定义设计和动态消息的javascript确认框

我的问题是:我需要一个函数来调用那个调用,我怎样才能收到弹出的结果;(如是或否)。可能吗

代码


我想用我的自定义样式覆盖确认,制作一个允许用户响应的隐藏div怎么样

    <div id="confirm" class="noshow">
      <div  id="messageContent" class="message"></div>
      <div id="okButton" onClick="doConfirm(true)" class="button"></div>
      <div id="cancelButton" onClick="doConfirm(false)" class="button"></div>
    </div>
还有css之类的

.noshow{display:none;}

现在,您可以在运行时从javascript构建html并附加事件处理程序,但这是我所能想到的最简单的方法。

制作一个允许用户响应的隐藏div怎么样

    <div id="confirm" class="noshow">
      <div  id="messageContent" class="message"></div>
      <div id="okButton" onClick="doConfirm(true)" class="button"></div>
      <div id="cancelButton" onClick="doConfirm(false)" class="button"></div>
    </div>
还有css之类的

.noshow{display:none;}

现在,您可以在运行时从javascript构建html并附加事件处理程序,但这是我所能想到的最简单的方法。

您可以使用回调来实现这一点

确认处理程序,将添加到全局javascript文件中

function ConfirmInDiv(message, okcallback, cancelcallback) {
  $('#confirmation-holder').show();
  $("#confirmation_message").text(message);
  $('#Confirmation_Ok').unbind('click');
  $('#Confirmation_Ok').click(okcallback);
  $('#Confirmation_Cancel').unbind('click');
  $('#Confirmation_Cancel').click(cancelcallback);
}

function HideConfirmDiv() {
  $('#confirmation-holder').hide();
}
HTML,应位于布局文件中:

<div id="confirmation-holder" style="display:none">
    <div id="confirmation_message"></div>
    <a id="Confirmation_Ok" href="#" class="button">OK</a>
    <a id="Confirmation_Cancel" href="#" class="button light-button">Cancel</a>
</div>
这样做

function delete()
{
    function ok()
    {
         console.log('deleted');
         HideConfirmDiv();
    }
    function cancel()
    {
         console.log('delete cancelled');
         HideConfirmDiv();
    }
    ConfirmInDiv('Delete?', ok, cancel);   
}

您可以使用回调来执行此操作

确认处理程序,将添加到全局javascript文件中

function ConfirmInDiv(message, okcallback, cancelcallback) {
  $('#confirmation-holder').show();
  $("#confirmation_message").text(message);
  $('#Confirmation_Ok').unbind('click');
  $('#Confirmation_Ok').click(okcallback);
  $('#Confirmation_Cancel').unbind('click');
  $('#Confirmation_Cancel').click(cancelcallback);
}

function HideConfirmDiv() {
  $('#confirmation-holder').hide();
}
HTML,应位于布局文件中:

<div id="confirmation-holder" style="display:none">
    <div id="confirmation_message"></div>
    <a id="Confirmation_Ok" href="#" class="button">OK</a>
    <a id="Confirmation_Cancel" href="#" class="button light-button">Cancel</a>
</div>
这样做

function delete()
{
    function ok()
    {
         console.log('deleted');
         HideConfirmDiv();
    }
    function cancel()
    {
         console.log('delete cancelled');
         HideConfirmDiv();
    }
    ConfirmInDiv('Delete?', ok, cancel);   
}

对我来说,这个解决方案更好:

html:

使用:

如果没有,请不要忘记添加jquery


根据对问题的回答

这个解决方案对我来说更好:

html:

使用:

如果没有,请不要忘记添加jquery


根据对问题的回答

返回确认(“消息”);在这种情况下,它将返回true或false作为返回。如果我使用上述代码,如何获得结果。返回确认(“消息”);在这种情况下,它将返回true或false作为返回。如果我使用上述代码,如何获得结果。将依赖于对话框结果的代码放入回调函数中,使对话框的按钮使用特定结果调用该回调。与处理从AJAX调用获取响应的过程相同。将依赖于对话框结果的代码放入回调函数中,使对话框的按钮使用特定结果调用该回调。与处理从AJAX调用获取响应的过程相同。
    dialog('Are you sure you want to do this?',
        function() {
            //If yes do something
            console.log("yes");
        },
        function() {
            //If no do something else
            console.log("no");
        }
    );