????JFIF??x?x????'
| Server IP : 104.21.30.238 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/./cwd/wp-content/plugins/motopress-content-editor/jquery/event/pause/ |
Upload File : |
steal('jquery/event/default').then(function($){
var current,
rnamespaces = /\.(.*)$/,
returnFalse = function(){return false},
returnTrue = function(){return true};
/**
* @function
* @parent jquery.event.pause
* Pauses an event (to be resumed later);
*/
//
/**
* @function
* @parent jquery.event.pause
*
* Resumes an event
*/
//
/**
* @page jquery.event.pause Pause-Resume
* @plugin jquery/event/pause
* @parent specialevents
* The jquery/event/pause plugin adds the ability to pause and
* resume events.
*
* $('#todos').bind('show', function(ev){
* ev.pause();
*
* $(this).load('todos.html', function(){
* ev.resume();
* });
* })
*
* When an event is paused, stops calling other event handlers for the
* event (similar to event.stopImmediatePropagation() ). But when
* resume is called on the event, it will begin calling events on event handlers
* after the 'paused' event handler.
*
*
* Pause-able events complement the [jQuery.event.special.default default]
* events plugin, providing the ability to easy create widgets with
* an asynchronous API.
*
* ## Example
*
* Consider a basic tabs widget that:
*
* - trigger's a __show__ event on panels when they are to be displayed
* - shows the panel after the show event.
*
* The sudo code for this controller might look like:
*
* $.Controller('Tabs',{
* ".button click" : function( el ){
* var panel = this.getPanelFromButton( el );
* panel.triggerAsync('show', function(){
* panel.show();
* })
* }
* })
*
* Someone using this plugin would be able to delay the panel showing until ready:
*
* $('#todos').bind('show', function(ev){
* ev.pause();
*
* $(this).load('todos.html', function(){
* ev.resume();
* });
* })
*
* Or prevent the panel from showing at all:
*
* $('#todos').bind('show', function(ev){
* if(! isReady()){
* ev.preventDefault();
* }
* })
*
* ## Limitations
*
* The element and event handler that the <code>pause</code> is within can not be removed before
* resume is called.
*
* ## Big Example
*
* The following example shows a tabs widget where the user is prompted to save, ignore, or keep editing
* a tab when a new tab is clicked.
*
* @demo jquery/event/pause/pause.html
*
* It's a long, but great example of how to do some pretty complex state management with JavaScriptMVC.
*
*/
$.Event.prototype.isPaused = returnFalse
$.Event.prototype.pause = function(){
// stop the event from continuing temporarily
// keep the current state of the event ...
this.pausedState = {
isDefaultPrevented : this.isDefaultPrevented() ?
returnTrue : returnFalse,
isPropagationStopped : this.isPropagationStopped() ?
returnTrue : returnFalse
};
this.stopImmediatePropagation();
this.preventDefault();
this.isPaused = returnTrue;
};
$.Event.prototype.resume = function(){
// temporarily remove all event handlers of this type
var handleObj = this.handleObj,
currentTarget = this.currentTarget;
// temporarily overwrite special handle
var origType = jQuery.event.special[ handleObj.origType ],
origHandle = origType && origType.handle;
if(!origType){
jQuery.event.special[ handleObj.origType ] = {};
}
jQuery.event.special[ handleObj.origType ].handle = function(ev){
// remove this once we have passed the handleObj
if(ev.handleObj === handleObj && ev.currentTarget === currentTarget){
if(!origType){
delete jQuery.event.special[ handleObj.origType ];
} else {
jQuery.event.special[ handleObj.origType ].handle = origHandle;
}
}
}
delete this.pausedState;
// reset stuff
this.isPaused = this.isImmediatePropagationStopped = returnFalse;
// re-run dispatch
//$.event.dispatch.call(currentTarget, this)
// with the events removed, dispatch
if(!this.isPropagationStopped()){
// fire the event again, no events will get fired until
// same currentTarget / handler
$.event.trigger(this, [], this.target);
}
};
/*var oldDispatch = $.event.dispatch;
$.event.dispatch = function(){
}*/
// we need to finish handling
// and then trigger on next element ...
// can we fake the target ?
});