| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.3/wp-content/plugins/Ultimate_VC_Addons/assets/js/ |
Upload File : |
/*!
* jQuery UI Touch Punch 0.2.3
*
* Copyright 2011–2014, Dave Furfero
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Depends:
* jquery.ui.widget.js
* jquery.ui.mouse.js
*/
( function ( $ ) {
// Detect touch support
$.support.touch = 'ontouchend' in document;
// Ignore browsers without touch support
if ( ! $.support.touch ) {
return;
}
let mouseProto = $.ui.mouse.prototype,
_mouseInit = mouseProto._mouseInit,
_mouseDestroy = mouseProto._mouseDestroy,
touchHandled;
/**
* Simulate a mouse event based on a corresponding touch event
*
* @param {Object} event A touch event
* @param {string} simulatedType The corresponding mouse event
*/
function simulateMouseEvent( event, simulatedType ) {
// Ignore multi-touch events
if ( event.originalEvent.touches.length > 1 ) {
return;
}
event.preventDefault();
const touch = event.originalEvent.changedTouches[ 0 ],
simulatedEvent = document.createEvent( 'MouseEvents' );
// Initialize the simulated mouse event using the touch event's coordinates
simulatedEvent.initMouseEvent(
simulatedType, // type
true, // bubbles
true, // cancelable
window, // view
1, // detail
touch.screenX, // screenX
touch.screenY, // screenY
touch.clientX, // clientX
touch.clientY, // clientY
false, // ctrlKey
false, // altKey
false, // shiftKey
false, // metaKey
0, // button
null // relatedTarget
);
// Dispatch the simulated event to the target element
event.target.dispatchEvent( simulatedEvent );
}
/**
* Handle the jQuery UI widget's touchstart events
*
* @param {Object} event The widget element's touchstart event
*/
mouseProto._touchStart = function ( event ) {
const self = this;
// Ignore the event if another widget is already being handled
if (
touchHandled ||
! self._mouseCapture( event.originalEvent.changedTouches[ 0 ] )
) {
return;
}
// Set the flag to prevent other widgets from inheriting the touch event
touchHandled = true;
// Track movement to determine if interaction was a click
self._touchMoved = false;
// Simulate the mouseover event
simulateMouseEvent( event, 'mouseover' );
// Simulate the mousemove event
simulateMouseEvent( event, 'mousemove' );
// Simulate the mousedown event
simulateMouseEvent( event, 'mousedown' );
};
/**
* Handle the jQuery UI widget's touchmove events
*
* @param {Object} event The document's touchmove event
*/
mouseProto._touchMove = function ( event ) {
// Ignore event if not handled
if ( ! touchHandled ) {
return;
}
// Interaction was not a click
this._touchMoved = true;
// Simulate the mousemove event
simulateMouseEvent( event, 'mousemove' );
};
/**
* Handle the jQuery UI widget's touchend events
*
* @param {Object} event The document's touchend event
*/
mouseProto._touchEnd = function ( event ) {
// Ignore event if not handled
if ( ! touchHandled ) {
return;
}
// Simulate the mouseup event
simulateMouseEvent( event, 'mouseup' );
// Simulate the mouseout event
simulateMouseEvent( event, 'mouseout' );
// If the touch interaction did not move, it should trigger a click
if ( ! this._touchMoved ) {
// Simulate the click event
simulateMouseEvent( event, 'click' );
}
// Unset the flag to allow other widgets to inherit the touch event
touchHandled = false;
};
/**
* A duck punch of the $.ui.mouse _mouseInit method to support touch events.
* This method extends the widget with bound touch event handlers that
* translate touch events to mouse events and pass them to the widget's
* original mouse event handling methods.
*/
mouseProto._mouseInit = function () {
const self = this;
// Delegate the touch handlers to the widget's element
self.element.bind( {
touchstart: $.proxy( self, '_touchStart' ),
touchmove: $.proxy( self, '_touchMove' ),
touchend: $.proxy( self, '_touchEnd' ),
} );
// Call the original $.ui.mouse init method
_mouseInit.call( self );
};
/**
* Remove the touch event handlers
*/
mouseProto._mouseDestroy = function () {
const self = this;
// Delegate the touch handlers to the widget's element
self.element.unbind( {
touchstart: $.proxy( self, '_touchStart' ),
touchmove: $.proxy( self, '_touchMove' ),
touchend: $.proxy( self, '_touchEnd' ),
} );
// Call the original $.ui.mouse destroy method
_mouseDestroy.call( self );
};
} )( jQuery );