- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的布局页面上有 AJAX 事件绑定(bind):
$(document).not("#approvalTitleBlock").bind("ajaxSend", function() {
$("#loading").show();
}).bind("ajaxStop", function() {
$("#loading").hide();
});
这不会在 ajaxSend
上触发。但是,如果我用这个替换它,那么它可以正常工作:
$(document).bind("ajaxSend", function() {
$("#loading").show();
}).bind("ajaxStop", function() {
$("#loading").hide();
});
为什么我会有这种行为?
最佳答案
这是因为它是一个全局 AJAX 事件处理程序。它不会在您选择的元素上引发,事实上它不会在任何 DOM 元素上引发。它仅在 document
本身上引发。查看documentation :
As of jQuery 1.9, all the handlers for the jQuery global Ajax events, including those added with the
ajaxSend()
method, must be attached todocument
.
更新
根据您的以下评论:
I want to change behavior for events on
ajaxSend
andajaxStop
for AJAX call on#approvalTitleBlock
(it shouldn't show#loading
)
在这种情况下,在发出请求时将 global: false
属性添加到 $.ajax()
设置中。这将防止为请求调用任何全局处理程序。
关于javascript - 如何处理所有元素而不是一个元素的 ajaxSetup 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57970077/
我有 3 个 js 文件: app.js $.ajaxSetup({ error : function(request) { switch (request.status) {
我想为我的所有 ajax 请求设置一个全局数据参数 $.ajaxSetup({ data: {hash : "12345"} }); 设置后我调用: var myData = { nam
我正在使用 $.ajaxSetup 在我的站点中使用全局授权方法和全局错误处理。我想将回调函数传递给全局错误方法,这样我就可以在需要时在全局错误处理程序中调用该函数。这是我的 $.ajaxSetup:
我有以下函数来设置我的 AJAX 请求的 header : self.authenticate = function () { self.token = sessionStorage.getI
登录远程 aPI 服务器并获取 access_token 后,我尝试为所有后续 ajax 调用设置授权 header : .done(function (result) {
jQuery 中的 $.ajax(); 和 $.ajaxSetup(); 有什么区别: $.ajax({ cache:false }); 和 $.ajaxSetup({ cache:t
我正在使用 ASP.Net MVC 和 jQuery 1.8.2 我有一个带有按钮的表单,单击该按钮时会调用此 javascript: $(function () { $('#SearchBu
我有 // Ajax setup $.ajaxSetup({ beforeSend: function() { $('#general-ajax-load ').fadeIn(); }, c
我正在尝试关闭应用程序中的所有 AJAX,请参阅 here . 使用ajaxSetup控制getJSON吗? 即此 getJSON 请求是同步的吗? // TURNING OFF ALL AJAX $
在 JS 文件中我有这个: $.ajaxSetup({ type: 'POST', contentType: "application/json; charset=utf-8",
我正在使用 $.ajax 提交表单,我想在提交中添加一个不属于表单输入的键值对,这对我的所有表单都是通用的。所以我计划将公共(public)部分移动到 ajaxsetup。我想在 Action 中接收
$.ajaxSetup 用于 jquery 中的 ajax 调用。 如果我们使用 jquery ajax,这工作得很好。 但在 MVC 中,我们使用 Ajax.BeginForm() 。回调处理程序是
我想对所有 ajax 调用使用 ajaxsetup,但它似乎干扰了我在网站上的 jqgrids。有没有一种方法可以全局设置我的 ajax 调用,而不会弄乱 jqgrids 内部调用。下面的代码是我想在
我有两个 jQuery 脚本 - 一个用于内联表单编辑,第二个是 jQuery 自动完成。 自动完成有以下ajaxSetup: $.ajaxSetup({ url: '/notes/inline
代码1 $.ajax({url:"1.aspx/HelloWorld",type:"GET",dataType:"json",contentType:"application/json"}); 代码2
我正在尝试在 JSP 文件中插入以下代码段 { $.ajaxSetup({ cache: false, async: false }); var
我目前正在开发一个 jquery 程序。我的程序在 firefox 3.5 中运行良好,但直到我将浏览器升级到 firefox 4.0 后才能正常运行。从那时起,'parsererror' 就再也没有
我的布局页面上有 AJAX 事件绑定(bind): $(document).not("#approvalTitleBlock").bind("ajaxSend", function() { $("
我有一种方法可以跟踪当前的 Ajax 请求,其中涉及 $.ajaxSetup(),并计算 beforeSends 和完成数。 jsFiddle Demo var ajaxProcs = 0; $.aj
这可能很奇怪,但我正在寻找的是如何使 jQuery.ajaxSetup() 的范围仅在特定对象内。让我举个例子,我有两个对象 obj_1 和 obj_2。我想以这样一种方式编写 ajaxSetup,即
我是一名优秀的程序员,十分优秀!