修改默认的ajaxStart, ajaxStop 显示loading
<span id="loading_span" style="display:none;">...</span> <button id="btnSubmit">提交</button> <script type="text/javascript"> $("#loading_span").bind({ ajaxStart:function() {$(this).show();}, ajaxStop:function() {$(this).hide();} }); $("#btnSubmit").on("click", function(){ $.ajax({ url:"php/postTest.php", type:"GET", data:{}, success:function(data){ data = $.parseJSON(data); alert(data.key); } }); }) </script>
bind可以这样用吗?没有看到文档中有给bind传入一个对象的接口
ajaxStart ajaxStop都不是window下的方法,bind是如何定位它们的命名空间的?
效果:只要有ajax,loading就显示。
试试其它的,其它方法不能绑定到元素上
结论,是jQuery的特殊方法,这些ajaxStart和ajaxStop的事件处理程序可以绑定到任意文档元素上,jQuery是全局地触发它们,而不是在特定的元素上触发。
如果调用 jQuery.ajax()时没有设置context,其它四个方法ajaxSend, ajaxSuccess, ajaxError, ajaxComplete也可绑定到任意元素上