【问题标题】:How to terminate javascript function if condition is met如果满足条件,如何终止javascript函数
【发布时间】:2015-09-26 23:18:25
【问题描述】:

您好,当参数值不等于“日期”时,我如何终止函数 daterange

因为如果满足条件并且函数 daterange 被执行,即使参数值不等于“日期”,函数仍然运行 请注意,我的代码在 asp 更新面板中

  <script type="text/javascript">
                                $(document).ready(function (e) {
                                    $('.search-panel .dropdown-menu').find('a').click(function (e) {
                                        e.preventDefault();
                                        var param = $(this).attr("href").replace("#", "");
                                        var concept = $(this).text();
                                        $('.search-panel span#search_concept').text(concept);
                                        $('[id$=hdnSearchParam]').val(param);
                                        if (param == "date") {
                                            $(function daterange () {
                                                $("#<%= txtsearch.ClientID %>").daterangepicker({
                                                    locale: {
                                                        format: 'DD/MMM/YYYY'
                                                    }
                                                });
                                            });
                                        }
                                        else { //terminate the function }

                                    });
                                });

                                //Re-Create for on page postbacks
                                var prm = Sys.WebForms.PageRequestManager.getInstance();
                                prm.add_endRequest(function daterange() {
                                    $('.search-panel .dropdown-menu').find('a').click(function (e) {
                                        e.preventDefault();
                                        var param = $(this).attr("href").replace("#", "");
                                        var concept = $(this).text();
                                        $('.search-panel span#search_concept').text(concept);
                                        $('[id$=hdnSearchParam]').val(param);
                                        if (param == "date") {
                                            $(function () {
                                                $("#<%= txtsearch.ClientID %>").daterangepicker({
                                                    locale: {
                                                        format: 'DD/MMM/YYYY'
                                                    }
                                                });
                                            });
                                        }
                                        else { //terminate the function }
                                    });
                                });
                            </script>

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    如果我做对了 - 您正试图退出外部函数 - $(document).ready(function (e) {... 从事件处理程序中退出?

    我能想到的唯一解决方案是在函数外部未处理的事件中抛出异常。

    如果您愿意,可以查看此线程:Any way to exit outer function from within inner function?

    如果你只是想终止事件处理程序,那么不需要做任何事情,因为 else 块位于处理程序的末尾,无论如何它都会在它之后终止。希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 2021-08-17
      • 2023-04-05
      相关资源
      最近更新 更多