PageSourceSearch

https://occtonet3.occto.or.jp/public/dfw/RP11/OCCTO/sdCommon/jsp/js/jquery/ui/jquery.ui.mouse.js

js occto.or.jp collected 2026-10-02 04:37:38 UTC 4,561 bytes, 169 lines download raw bytes

vendor: 4,561 bytes, lines 1-169
1/*!
2 * jQuery UI Mouse 1.10.4
3 * http://jqueryui.com
4 *
5 * Copyright 2014 jQuery Foundation and other contributors
6 * Released under the MIT license.
7 * http://jquery.org/license
8 *
9 * http://api.jqueryui.com/mouse/
10 *
11 * Depends:
12 *	jquery.ui.widget.js
13 */
14(function( $, undefined ) {
15
16var mouseHandled = false;
17$( document ).mouseup( function() {
18	mouseHandled = false;
19});
20
21$.widget("ui.mouse", {
22	version: "1.10.4",
23	options: {
24		cancel: "input,textarea,button,select,option",
25		distance: 1,
26		delay: 0
27	},
28	_mouseInit: function() {
29		var that = this;
30
31		this.element
32			.bind("mousedown."+this.widgetName, function(event) {
33				return that._mouseDown(event);
34			})
35			.bind("click."+this.widgetName, function(event) {
36				if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
37					$.removeData(event.target, that.widgetName + ".preventClickEvent");
38					event.stopImmediatePropagation();
39					return false;
40				}
41			});
42
43		this.started = false;
44	},
45
46	// TODO: make sure destroying one instance of mouse doesn't mess with
47	// other instances of mouse
48	_mouseDestroy: function() {
49		this.element.unbind("."+this.widgetName);
50		if ( this._mouseMoveDelegate ) {
51			$(document)
52				.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
53				.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
54		}
55	},
56
57	_mouseDown: function(event) {
58		// don't let more than one widget handle mouseStart
59		if( mouseHandled ) { return; }
60
61		// we may have missed mouseup (out of window)
62		(this._mouseStarted && this._mouseUp(event));
63
64		this._mouseDownEvent = event;
65
66		var that = this,
67			btnIsLeft = (event.which === 1),
68			// event.target.nodeName works around a bug in IE 8 with
69			// disabled inputs (#7620)
70			elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
71		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
72			return true;
73		}
74
75		this.mouseDelayMet = !this.options.delay;
76		if (!this.mouseDelayMet) {
77			this._mouseDelayTimer = setTimeout(function() {
78				that.mouseDelayMet = true;
79			}, this.options.delay);
80		}
81
82		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
83			this._mouseStarted = (this._mouseStart(event) !== false);
84			if (!this._mouseStarted) {
85				event.preventDefault();
86				return true;
87			}
88		}
89
90		// Click event may never have fired (Gecko & Opera)
91		if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
92			$.removeData(event.target, this.widgetName + ".preventClickEvent");
93		}
94
95		// these delegates are required to keep context
96		this._mouseMoveDelegate = function(event) {
97			return that._mouseMove(event);
98		};
99		this._mouseUpDelegate = function(event) {
100			return that._mouseUp(event);
101		};
102		$(document)
103			.bind("mousemove."+this.widgetName, this._mouseMoveDelegate)
104			.bind("mouseup."+this.widgetName, this._mouseUpDelegate);
105
106		event.preventDefault();
107
108		mouseHandled = true;
109		return true;
110	},
111
112	_mouseMove: function(event) {
113		// IE mouseup check - mouseup happened when mouse was out of window
114		if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
115			return this._mouseUp(event);
116		}
117
118		if (this._mouseStarted) {
119			this._mouseDrag(event);
120			return event.preventDefault();
121		}
122
123		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
124			this._mouseStarted =
125				(this._mouseStart(this._mouseDownEvent, event) !== false);
126			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
127		}
128
129		return !this._mouseStarted;
130	},
131
132	_mouseUp: function(event) {
133		$(document)
134			.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
135			.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
136
137		if (this._mouseStarted) {
138			this._mouseStarted = false;
139
140			if (event.target === this._mouseDownEvent.target) {
141				$.data(event.target, this.widgetName + ".preventClickEvent", true);
142			}
143
144			this._mouseStop(event);
145		}
146
147		return false;
148	},
149
150	_mouseDistanceMet: function(event) {
151		return (Math.max(
152				Math.abs(this._mouseDownEvent.pageX - event.pageX),
153				Math.abs(this._mouseDownEvent.pageY - event.pageY)
154			) >= this.options.distance
155		);
156	},
157
158	_mouseDelayMet: function(/* event */) {
159		return this.mouseDelayMet;
160	},
161
162	// These are placeholder methods, to be overriden by extending plugin
163	_mouseStart: function(/* event */) {},
164	_mouseDrag: function(/* event */) {},
165	_mouseStop: function(/* event */) {},
166	_mouseCapture: function(/* event */) { return true; }
167});
168
169})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.