


Code to use jQuery global event ajaxStart to implement prompt effects for specific requests_jquery
Scenario
How to implement the "ajaxStart" effect on a specific request?
First of all, the cost of overriding the Ajax method is too high. You can still make use of jQuery's own Ajax Events.
Global events triggered by Ajax will be propagated to all DOM nodes like a standard event. Level: jQuery Events > Ajax Events > Custom Ajax events.
Implementation
Wo = window.Wo || { };
Wo.ajax = {
spinner : $([])
,init : function() {
var $spinner = this.spinner = $('#ajax-loading') ;
var show = function(e) {
if(e.namespace === 'Wo') $spinner.show();
};
var hide = function(e) {
$spinner.hide();
};
$spinner.bind({
'ajaxStart.Wo' : show
,'ajaxStop.Wo' : hide
,' ajaxError.Wo' : hide
});
this.adapt(['getJSON','get','post','ajax']);
}
// Prepare to send request
,_prepare : function() {
this.spinner.trigger('ajaxStart.Wo');
}
//Interface batch change
,adapt : function(fns) {
var self = this;
$.each(fns,function(i,fn) {
Wo[fn] = function() {
self._prepare();
$[fn ].apply(this,arguments);
}
});
}
};
There are two ways to determine whether the triggered event is specific Events for:
Determined namespace.
Pass additional parameters to the event handler when triggered.
The namespace of the event is used here to determine the trigger source. The adapt method is equivalent to the application of an adapter, replacing another set of interfaces with an improved interface.
If you want to add a load method, it is a little more troublesome, because it may be the ajax method or the onload event of the element.
To add a proxy method and perform type judgment:
var _load = $.fn.load;
$.fn.load = function() {
$.type(arguments[0]) === 'string' && self._prepare();
_load.apply(this,arguments);
return this;
};
Using
all method parameters are still the same as before:
Wo.post(url, [data,] callback)

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



What should I do if Google Chrome prompts that the content of this tab is being shared? When we use Google Chrome to open a new tab, we sometimes encounter a prompt that the content of this tab is being shared. So what is going on? Let this site provide users with a detailed introduction to the problem of Google Chrome prompting that the content of this tab is being shared. Google Chrome prompts that the content of this tab is being shared. Solution: 1. Open Google Chrome. You can see three dots in the upper right corner of the browser "Customize and control Google Chrome". Click the icon with the mouse to change the icon. 2. After clicking, the menu window of Google Chrome will pop up below, and the mouse will move to "More Tools"

In iOS 17, Apple has overhauled its entire selection of ringtones and text tones, offering more than 20 new sounds that can be used for calls, text messages, alarms, and more. Here's how to see them. Many new ringtones are longer and sound more modern than older ringtones. They include arpeggio, broken, canopy, cabin, chirp, dawn, departure, dolop, journey, kettle, mercury, galaxy, quad, radial, scavenger, seedling, shelter, sprinkle, steps, story time , tease, tilt, unfold and valley. Reflection remains the default ringtone option. There are also 10+ new text tones available for incoming text messages, voicemails, incoming mail alerts, reminder alerts, and more. To access new ringtones and text tones, first, make sure your iPhone

How to handle the verification and prompts of user input in Vue. Handling the verification and prompts of user input in Vue is a common requirement in front-end development. This article will introduce some common techniques and specific code examples to help developers better handle user input verification and prompts. Validation using computed properties In Vue, you can use computed properties to monitor and validate user input. You can define a calculated attribute to represent the value entered by the user, and perform validation logic in the calculated attribute. Here is an example: data(){

Baidu Tieba app prompts that the operation is too frequent. This prompt is usually to maintain the normal operation and user experience of the platform to prevent malicious screen spam, advertising spam and other inappropriate behaviors. For specific handling methods, you can read the tutorial shared by the editor. Baidu Tieba app prompts that the operation is too frequent. Sharing how to deal with it 1. When the system prompts [Operation is too frequent], we need to wait for a while. If you are anxious, you can do something else first. Generally, after waiting for a while, this prompt message will It will disappear automatically and we can use it normally. 2. If after waiting for a long time, it still displays [Operation Too Frequent], we can try to go to Tieba Emergency Bar, Tieba Feedback Bar and other official Tieba, post to report this phenomenon and ask official personnel to solve it. 3.

When playing a game, a message "The monitor driver has stopped responding and has been restored" suddenly pops up. What's going on? The display driver has stopped responding and has recovered. This means that the display driver in the system has experienced an abnormal situation and cannot work normally, causing the display to become unresponsive or have a black screen. Common reasons: 1. Monitor driver error: There may be program logic errors or data transmission errors in the driver, causing the driver to fail to work properly. 2. Insufficient hardware configuration: The computer hardware configuration is insufficient to meet the requirements of high-performance applications, resulting in problems such as system pauses and lags. 3. System file damage: damage to computer system files

Microsoft Edge is a popular web browser that offers many features to personalize your browsing experience. However, some users may find the "Personalize your web experience" prompt intrusive. This prompt asks users to allow Microsoft to collect data about their browsing activities in order to provide personalized recommendations and ads. There are other reasons why you might want to disable the "Personalize your web experience" prompt in Edge Microsoft. For example, you may be worried about your privacy because Microsoft collects a lot of data about your browsing activity. You may also not wish to see personalized recommendations or ads, or you may experience performance issues with Microsoft Edge

What to do when sharing printer prompt 0000709. With the continuous development of technology, network shared printers have become an indispensable part of our work and life. However, when using shared printers, we sometimes encounter some problems. One of the common problems is the 0000709 error message. So, when we encounter this problem, how should we solve it? First, we need to understand what the 0000709 error message means. The 0000709 error message usually means that the network shared printer is not available.

Bing Chat changes the way we interact with Bing and gives us a new way of thinking about search engines. Now, it's getting a long-awaited addition: you can interact with it using your voice. Now you need to type your tip or query to have Bing Chat respond to you. This is in contrast to voice assistants like Siri or Google Assistant, which can interact primarily with your voice, making them very convenient. Now, though, BingChat is getting voice support on the desktop platform. The mobile Bing app already has voice input. Desktop users can now participate in the convenience of voice typing by simply clicking the microphone icon in the Bing chat box. Currently, the language model supports English, Japanese, French, German and Mandarin voice input
