Javascript 返回值以单击回调

Javascript 返回值以单击回调,javascript,jquery,asp.net,webforms,Javascript,Jquery,Asp.net,Webforms,我有一个,我使用jQuery处理点击。按下按钮时,我会显示一个自定义jQuery UI确认对话框 我打了2次电话;一个表示“是”-单击,一个表示“否”: 如果我使用标准的confirm()我可以执行以下操作: return confirm('are you sure?'); 但是在我的第一个示例中,如何将true或false返回给“外部单击函数”因为jQuery对话框不会阻止线程,所以单击函数总是会立即返回,所以需要执行return false;在最后,不管对话框结果如何,这样表单就不会被过帐

我有一个
,我使用jQuery处理点击。按下按钮时,我会显示一个自定义jQuery UI确认对话框

我打了2次电话;一个表示“是”-单击,一个表示“否”:

如果我使用标准的
confirm()
我可以执行以下操作:

return confirm('are you sure?');

但是在我的第一个示例中,如何将true或false返回给“外部单击函数”

因为jQuery对话框不会阻止线程,所以单击函数总是会立即返回,所以需要执行return false;在最后,不管对话框结果如何,这样表单就不会被过帐

我通常会检查按钮上是否存在允许表单提交的数据属性,例如:

$('input[name="theButton"]').click(function(){
    var $btn = $(this); 
    if($btn.data("dosubmit") == "true")) {
       return true;
    }
    myPopUpMethod(function(){
       $btn.data("dosubmit", "true").trigger("click");
    }, function(){
        // Do Nothing
    });
   return false;
});

第一次调用它时,jQueryUI对话框将弹出,该方法将阻止表单提交。用户单击对话框上的“是”后,将设置数据提交属性并再次触发按钮单击。在这个阶段,该方法会看到data dosubmit属性并尝试提交表单。

对不起,我忘了提到我做了一个
e.preventDefault
来阻止它。此外,我知道我可以通过编程触发点击,但这是一个相当丑陋的解决方案,我想。难道没有更好的方法吗?你可以使用它而不是返回false;在我的示例中,如果您不希望此事件冒泡。如果这样做,则需要否定If()语句并将myPopUpMethod包装在其中。您可以使用服务器端的Page.GetPostBackEventReference获取导致回发的Javascript调用,并从Javascript方法手动调用:
$('input[name=“theButton”]”。单击(function(){myPopUpMethod(function(){},函数(){//Do Nothing});})
我认为应该是
ClientScript.GetPostBackEventReference
。谢谢我要试试看。
$('input[name="theButton"]').click(function(){
    var $btn = $(this); 
    if($btn.data("dosubmit") == "true")) {
       return true;
    }
    myPopUpMethod(function(){
       $btn.data("dosubmit", "true").trigger("click");
    }, function(){
        // Do Nothing
    });
   return false;
});