learn.jquery.com icon indicating copy to clipboard operation
learn.jquery.com copied to clipboard

learn.jquery.com: Deprecated and Beaking Changes

Open poing opened this issue 8 years ago • 1 comments

I find myself struggling for answers, that just do not seem to be available anywhere. Trying to use object literals as shown in the Learning Center leads to warnings, upgrading jQuery leads to the code not working.

//Using an object literal for a jQuery feature
var myFeature = {
  	init: function() {
	    console.log(Math.random());
    }
};
myFeature.init();
Version Console
jquery-1.8.3.js Use of getPreventDefault() is deprecated. Use defaultPrevented instead.
jquery-migrate-3.0.0.js jQuery.fn.load() is deprecated.
jquery-3.1.1 TypeError: url.indexOf is not a function.

I was able to find a different way to do it. But I ended up the same results. So the following code does not bring me any closer to building object literals in 3.1.1

// Create your own jQuery function
jQuery.fn.extend({
    init: function () {
        console.log(Math.random());
    }
});
$.fn.init();

So how is this an issue? Well, versions changes have affected the fundamental use. But the Learning Center only provides one (outdated) example.

$( document ).ready( myFeature.init );  // Deprecated
$( document ).on( 'ready' , myFeature.init );  // Deprecated?
$.fn.myFeature.init;  // Is this the correct way?

I suggest the Learning Center is updated with version specific documentation that shows relative examples for each version. I would like to help, but skill level is rather low.

Sincerely, Brian LaVallee

poing avatar Dec 19 '16 04:12 poing

As Brian pointed out, the basic tutorial uses deprecated code like $( document ).ready(). That should be fixed. I was about to create an issue for it myself.

btangmu avatar Jul 18 '17 12:07 btangmu