2016-07-05 13 views
0

私はjavascriptセクションでビューを持っています。このビューでは、タブでクリックするとonclickイベントが発生し、javascriptが表示されます。部分的なビューロード後に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> 

このようにタブクリックは完全に機能しますが、部分表示がロードされると、印刷ボタンデバッガはヒットしません。これは私の部分的な見解のボタンです。

<button id="printBtn" type="button" class="btn btn-default">Print</button> 
+0

私はアヤックス成功にクリックイベントを追加した場合、それが追加されることを発見し、それが発生します。部分ロードが完了した後に、DOMに準備が整ったことを伝えるにはどうすればよいですか? – JcMey3r

+0

.onに変更すると動作しますか? $( 'body')。on( 'click'、 'printBtn'、function(){ デバッガ; printElement(document.getElementById( "modal-body")); window.print(); }); –

答えて

1

このような何かにあなたはclickHandlerを変更してみてください:

$(document).on('click','#printBtn', function() { 
    //your code here 
    } 
関連する問題