Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dokuwiki
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
BRIC
dokuwiki
Commits
00162124
Commit
00162124
authored
13 years ago
by
Andreas Gohr
Browse files
Options
Downloads
Patches
Plain Diff
deprecated even functions
These now simply wrap around jQuery
parent
17e2e254
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
lib/scripts/events.js
+14
-155
14 additions, 155 deletions
lib/scripts/events.js
with
14 additions
and
155 deletions
lib/scripts/events.js
+
14
−
155
View file @
00162124
// written by Dean Edwards, 2005
// with input from Tino Zijdel
// http://dean.edwards.name/weblog/2005/10/add-event/
function
addEvent
(
element
,
type
,
handler
)
{
// assign each event handler a unique ID
if
(
!
handler
.
$$guid
)
handler
.
$$guid
=
addEvent
.
guid
++
;
// create a hash table of event types for the element
if
(
!
element
.
events
)
element
.
events
=
{};
// create a hash table of event handlers for each element/event pair
var
handlers
=
element
.
events
[
type
];
if
(
!
handlers
)
{
handlers
=
element
.
events
[
type
]
=
{};
// store the existing event handler (if there is one)
if
(
element
[
"
on
"
+
type
])
{
handlers
[
0
]
=
element
[
"
on
"
+
type
];
}
}
// store the event handler in the hash table
handlers
[
handler
.
$$guid
]
=
handler
;
// assign a global event handler to do all the work
element
[
"
on
"
+
type
]
=
handleEvent
;
};
// a counter used to create unique IDs
addEvent
.
guid
=
1
;
function
removeEvent
(
element
,
type
,
handler
)
{
// delete the event handler from the hash table
if
(
element
.
events
&&
element
.
events
[
type
])
{
delete
element
.
events
[
type
][
handler
.
$$guid
];
}
};
function
handleEvent
(
event
)
{
var
returnValue
=
true
;
// grab the event object (IE uses a global event object)
event
=
event
||
fixEvent
(
window
.
event
,
this
);
// get a reference to the hash table of event handlers
var
handlers
=
this
.
events
[
event
.
type
];
// execute each event handler
for
(
var
i
in
handlers
)
{
if
(
!
handlers
.
hasOwnProperty
(
i
))
continue
;
if
(
handlers
[
i
].
call
(
this
,
event
)
===
false
)
{
returnValue
=
false
;
}
}
return
returnValue
;
};
function
fixEvent
(
event
,
_this
)
{
// add W3C standard event methods
event
.
preventDefault
=
fixEvent
.
preventDefault
;
event
.
stopPropagation
=
fixEvent
.
stopPropagation
;
// fix target
event
.
target
=
event
.
srcElement
;
event
.
currentTarget
=
_this
;
// fix coords
var
base
=
(
document
.
documentElement
.
scrollTop
?
document
.
documentElement
:
document
.
body
);
event
.
pageX
=
(
typeof
event
.
pageX
!==
'
undefined
'
)
?
event
.
pageX
:
event
.
clientX
+
base
.
scrollLeft
;
event
.
pageY
=
(
typeof
event
.
pageY
!==
'
undefined
'
)
?
event
.
pageY
:
event
.
clientY
+
base
.
scrollTop
;
return
event
;
};
fixEvent
.
preventDefault
=
function
()
{
this
.
returnValue
=
false
;
};
fixEvent
.
stopPropagation
=
function
()
{
this
.
cancelBubble
=
true
;
};
/**
* Pseudo event handler to be fired after the DOM was parsed or
* on window load at last.
*
* @author based upon some code by Dean Edwards
* @author Dean Edwards
* @link http://dean.edwards.name/weblog/2006/06/again/
*/
window
.
fireoninit
=
function
()
{
// quit if this function has already been called
if
(
arguments
.
callee
.
done
)
return
;
// flag this function so we don't do the same thing twice
arguments
.
callee
.
done
=
true
;
// kill the timer
if
(
_timer
)
{
clearInterval
(
_timer
);
_timer
=
null
;
}
if
(
typeof
window
.
oninit
==
'
function
'
)
{
window
.
oninit
();
}
};
/**
* Run the fireoninit function as soon as possible after
* the DOM was loaded, using different methods for different
* Browsers
* The event functions are no longer in use and a mere wrapper around
* jQuery's event handlers.
*
* @author Dean Edwards
* @link http://dean.edwards.name/weblog/2006/06/again/
* @deprecated
*/
// for Mozilla
if
(
document
.
addEventListener
)
{
document
.
addEventListener
(
"
DOMContentLoaded
"
,
window
.
fireoninit
,
null
);
}
// for Internet Explorer (using conditional comments)
/*@cc_on
@if (@_win32)
document.write("<scr" + "ipt id=\"__ie_init\" defer=\"true\" src=\"//:\"><\/script>");
var script = document.getElementById("__ie_init");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
window.fireoninit(); // call the onload handler
}
};
@end @*/
// for Safari
if
(
/WebKit/i
.
test
(
navigator
.
userAgent
))
{
// sniff
var
_timer
=
setInterval
(
function
()
{
if
(
/loaded|complete/
.
test
(
document
.
readyState
))
{
window
.
fireoninit
();
// call the onload handler
}
},
10
);
}
// for other browsers
window
.
onload
=
window
.
fireoninit
;
function
addEvent
(
element
,
type
,
handler
)
{
DEPRECATED
(
'
Use jQuery.bind() instead.
'
);
jQuery
(
element
).
bind
(
type
,{},
handler
);
}
/**
* This is a pseudo Event that will be fired by the fireoninit
* function above.
*
* Use addInitEvent to bind to this event!
*
* @author Andreas Gohr <andi@splitbrain.org>
* @see fireoninit()
*/
window
.
oninit
=
function
(){};
function
removeEvent
(
element
,
type
,
handler
)
{
DEPRECATED
(
'
Use jQuery.unbind() instead.
'
);
jQuery
(
element
).
unbind
(
type
,
handler
);
}
/**
* Bind a function to the window.init pseudo event
*
* @author Simon Willison
* @see http://simon.incutio.com/archive/2004/05/26/addLoadEvent
*/
function
addInitEvent
(
func
)
{
var
oldoninit
=
window
.
oninit
;
if
(
typeof
window
.
oninit
!=
'
function
'
)
{
window
.
oninit
=
func
;
}
else
{
window
.
oninit
=
function
()
{
oldoninit
();
func
();
};
}
DEPRECATED
(
'
Use jQuery(<function>) instead
'
);
jQuery
(
func
);
}
/**
...
...
@@ -168,6 +26,7 @@ function addInitEvent(func) {
* inside a loop
*
* @author Adrian Lang <lang@cosmocode.de>
* @fixme Is there a jQuery equivalent? Otherwise move to somewhere else
* @link http://www.cosmocode.de/en/blog/gohr/2009-10/15-javascript-fixing-the-closure-scope-in-loops
* @param functionref fnc - the function to be called
* @param mixed - any arguments to be passed to the function
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment