- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的页面上有 2 个使用 Ajax 的元素。一个是简单的复选框(设置默认值),另一个是由链接触发的弹出窗口。弹出窗口必须加载一堆元素,因此我有一个“正在加载...”覆盖 div,它由 ajaxStart() 触发并隐藏在 ajaxStop() 处。
除了复选框和弹出窗口都会触发 ajaxStart() 加载覆盖之外,一切正常。它对于复选框来说很烦人,因为它是我不想要的 div 的快速“闪烁”。
我的问题:如何只为页面上的特定元素而不是页面上的每个可 Ajax 的元素触发 AjaxStart?
<小时/>HTML
<input type="checkbox" id="defaultproject" />
<a class="openDialog" data-dialog-id="subscriberDialog" data-dialog-title="Project Subscriber" href="/Project/CreateSubscriber/1020" id="newsubscriber">Add Subscriber</a>
Javascript
//POPUP
$(document).ready(function () {
$(".openDialog").live("click", function (e) {
e.preventDefault();
$("<div></div>")
.addClass("dialog")
.attr("id", $(this).attr("data-dialog-id"))
.appendTo("body")
.dialog({
title: $(this).attr("data-dialog-title"),
close: function () { location.reload() },
modal: true,
draggable: false,
resizable: false,
width: 500
})
.load(this.href);
});
$(".close").live("click", function (e) {
e.preventDefault();
$(this).closest(".dialog").dialog("close");
});
//CHECKBOX
$("#defaultproject").change(function ()
{
var isitchecked = document.getElementById("defaultproject").checked
$.ajax({
url: '@Url.Action("SetDefaultProject")',
data: {"id": ProjectId, "isitchecked": isitchecked },
type: 'POST',
cache: 'false',
success: function (response) {
document.getElementById("defaultproject").disabled = "disabled";
},
error: function (xhr) {
alert('There was an error. Please try again');
document.getElementById("defaultproject").checked = ""
}
});
});
//SHOW LOADING DIV
//*** THIS IS WHERE I'M HAVING PROBLEMS
$('.openDialog').ajaxStart(function () {
$('#loadingdiv').show();
}).ajaxStop(function () {
$('#loadingdiv').hide();
});
最佳答案
为什么要使用事件?如果仅特定于 pop 使用回调函数:
$(".openDialog").live("click", function (e) {
e.preventDefault();
$('#loadingdiv').show();
$("<div></div>")
.addClass("dialog")
.attr("id", $(this).attr("data-dialog-id"))
.appendTo("body")
.dialog({
title: $(this).attr("data-dialog-title"),
close: function () { location.reload() },
modal: true,
draggable: false,
resizable: false,
width: 500
})
.load(this.href,function(){
$('#loadingdiv').hide();
});
});
关于针对特定元素的 JQuery AjaxStart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10864182/
如果您点击此处的“点击此处订购”按钮:http://www.game onglove.com/gog/test3.html,然后在弹出的灯箱窗口上单击相同的按钮,将使用 $.post() 运行 aja
这段代码 $("#loading").ajaxStart(function() { alert("start"); $(this).show(); }); 在我
以下是我的代码 $(document).ready(function() { $(document).ajaxStart(function () { alert("start"); }); /
我用户 jquery.ajax 调用 asp.net mvc 的 Controller ...我想显示一个加载指示器..我尝试了这个,但似乎不起作用... Loading... 
我的 jQuery 脚本顶部有这个: $().ajaxStart(function() { alert('ok'); }); 但是警报没有触发。所有其他 ajax 都可以工作,
我的页面上有 2 个使用 Ajax 的元素。一个是简单的复选框(设置默认值),另一个是由链接触发的弹出窗口。弹出窗口必须加载一堆元素,因此我有一个“正在加载...”覆盖 div,它由 ajaxStar
如何设置ajaxStart? 我得到“$.ajaxStart 不是一个函数” function Loader(){ this.loader = null; this.cnstr =
我正在尝试使用 ajax 构建一个购物网站。当用户单击“添加到购物车”图像时。小加载图像将显示在“添加到购物车”图像旁边。第一次点击效果很好,图像显示如我所料。但是,第二次和随后的点击会在第一个加载图
我有一个使用 shell_exec 命令运行 python 脚本的网页。我想要一个加载微调器,“请稍候此页面加载”这样的消息,在 python 脚本运行时显示,然后在它完成后显示其余的 echo'd
我有一个加载函数,希望代码在加载时将一些 html 写入 div,并在加载完成时显示页面。我看到了一些关于 ajaxStart 和 ajaxComplete 事件的小文章,但是我不确定如何实现它们。
我想在我的网站中添加加载程序,并且我正在使用 ajaxStart 和 ajxStop 请求来隐藏和显示 div。但问题是 ajaxStart 和 ajaxStop 请求没有被按钮 onclick 触发
我想检查脚本中是否存在任何未完成的 Ajax 事件,如下所示: $('nav a').click(function(){ var url = $(this).attr('href');
我有以下运行得相当好的脚本: $("#spanLoading").ajaxStart(function () { $('#spanLoading').empty().append(""); }
我为 jQuery AJAX 调用进行了常规预加载。我确实用过: $(document).ajaxStart(function(e) { objMain.ajaxPreloader.show
由于通常看似简单的事情需要几天的时间才能解决,也许有人可以给我指出一个解决方案,但两天后我放弃了以下问题; 在 html 中,我有一个按钮,应该通过 ajax 调用触发数据加载: Show Data
我使用 ajaxStart() 来为每个 AJAX 调用加载加载弹出屏幕。我在弹出窗口中给出的文本是 loading!请稍候。 我需要根据屏幕更改文本。例如,我有一个屏幕正在对 AJAX 调用进行一些
使用 Asp.Net MVC 3 (Razor)。我正在尝试添加 blockUI 插件,以在使用 @Ajax.ActionLink 调用操作时显示加载指示器 如果我使用默认调用,效果很好 $(docu
我的 jquery 调用如下在文本框上。我想阻止此选择器上的 ajaxStart() $("#ddl_select").keyup(function() { var searchid = $(
我有两个函数可以调用 $.getJSON - 一个函数查看服务器上存储的 JSON,另一个函数调用 Flickr。 我有这个: $(document).ajaxStart(function(){
我正在尝试通过 ajaxStart、ajaxStop/ajaxComplete 事件使用 jQuery UI 模式对话框作为加载指示器。当页面触发时,Ajax 处理程序会加载一些数据,并且模式对话框显
我是一名优秀的程序员,十分优秀!