jquery-migrate
Version:
Migrate older jQuery code to jQuery 3.0+
76 lines (66 loc) • 1.79 kB
HTML
<html>
<head>
<meta charset="utf-8">
<title>jQuery Migrate event fixHooks iframe test</title>
<!-- Load a jQuery and jquery-migrate plugin file based on URL -->
<script src="testinit.js"></script>
<script>
TestManager.loadProject( "jquery", "git" );
</script>
<script src="iframeTest.js"></script>
<script>
jQuery.noConflict();
TestManager.loadProject( "jquery-migrate", "dev", true );
</script>
<script>
function dispatchEvent( elem, type ) {
var e = document.createEvent( "HTMLEvents" );
e.initEvent( type, true, true );
elem.dispatchEvent( e );
}
function runTest() {
var div = document.createElement( "div" ),
$div = jQuery( div ).appendTo( document.body );
jQuery.event.fixHooks[ "excite" ] = {
props: [ "reallyHappy", "reallySad" ],
filter: function( event, original ) {
if ( "reallySad" in event ) {
event.gotSad = 1;
}
if ( "reallyHappy" in event ) {
event.gotHappy = 2;
}
return event;
}
};
jQuery.event.fixHooks[ "thrill" ] = {
filter: function( event, original ) {
event.thrilled = "MJ";
return event;
}
};
$div.on( "excite", function( event ) {
var test1 =
// Hooks were called
event.gotSad === 1 &&
event.gotHappy === 2 &&
jQuery.event.props.length === 0 &&
jQuery.event.fixHooks[ "excite" ].props.length === 0;
var test2 = $div.triggerHandler( "thrill" );
// Second thrill should not give another warning
$div.triggerHandler( "thrill" );
startIframeTest( test1, test2 );
} );
$div.on( "thrill", function( event ) {
return event.thrilled === "MJ";
} );
dispatchEvent( div, "excite" );
}
jQuery( runTest );
</script>
</head>
<body>
<p>jQuery Migrate</p>
</body>
</html>