我有几个按钮可以调用 Ajax 功能(提交联系表格、提交新闻通讯、检查用户是否有效/已注册、检查用户状态等...)
每次有人单击按钮以告诉他等待时,我都会使用 ajaxSetup 显示一个加载对话框。这是我的代码:
$('#submit').click(function(e) {
// easily done but it's repetitive
$('#loadingDiablog').css({'top':e.pageY+'px','left':e.pageX+'px'});
});
$.ajaxSetup({
beforeSend: function(jqXHR, settings) {
$('#loadingDiablog').css({'top':e.pageY+'px','left':e.pageX+'px'}); // e is not defined here
}
});
因此,为了不重复相同的代码,如何将鼠标甚至(通过
.click(function(e)
)传递给 AjaxSetup 中的 beforeSend ?谢谢
最佳答案
一种快速的方法是向所有要显示加载器的提交按钮添加一个类,并在单击其中任何一个时触发它。
$('#submit .ajaxButton').click(function(e) {
$('#loadingDiablog').css({'top':e.pageY+'px','left':e.pageX+'px'});
});
更新:
var myEvent;
$(document).ready(function()
{
$('#submit').click(function(e) {
myEvent = e;
});
$.ajaxSetup({
beforeSend: function(jqXHR, settings) {
if (myEvent != null) {
$('#loadingDiablog').css({'top':myEvent.pageY+'px','left':myEvent.pageX+'px'});
}
});
});
关于jquery - 如何在Send之前将鼠标事件发送到ajaxSetup?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7610701/