部分视图加载后javascript点击不触发

JcM*_*y3r 1 c# asp.net-mvc jquery

我有一个 javascript 部分的视图。在这个视图中,我有一个带有 onclick 事件的 javascript,该事件在选项卡单击时触发以加载部分视图,这一切都完美无缺。

现在我知道部分视图上的 javascript 无法正常工作,因此在主视图中我想添加一个单击事件,以便在单击打印按钮时使用。

 <script type="text/javascript">
    $(function () {

        $('#printBtn').click(function () {
            debugger;
            printElement(document.getElementById("modal-body"));
            window.print();
        });

        $('#tabStrip a').click(function (e) {
            e.preventDefault()
            var tabID = $(this).attr("href").substr(1);

            $(".tab-pane").each(function () {
                $(this).empty();
            });

            $("#" + tabID).empty().append("<div class='loader'><img src='/Content/img/Loader/ajax-loader.gif' alt='Loading' /></div>");

            $.ajax({
                url: "/Account/CustomerTab",
                data: { Id: tabID },
                cache: false,
                type: "get",
                dataType: "html",
                success: function (result) {
                    $("#" + tabID).empty().append("<div id='replaceDiv'>" + result + "</div>");
                    $(document).trigger('ready');
                    debugger;
                }
            });
            $(this).tab('show')
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

所以选项卡点击工作完美,但是一旦我的部分视图被加载,打印按钮调试器就不会被点击。这是我的局部视图中的按钮。

<button id="printBtn" type="button" class="btn btn-default">Print</button>
Run Code Online (Sandbox Code Playgroud)

ent*_*ull 6

尝试将您的点击处理程序更改为如下所示:

$(document).on('click','#printBtn', function() {
  //your code here
  }
Run Code Online (Sandbox Code Playgroud)