Question: I created a new ASP.Net MVC 4 project using the template in Visual Studio 2012. After upgrading to jQuery 1.9, the login functionality breaks. Specifically, I get the error

> 
> 0x800a138f - JavaScript runtime error: Unable to get property 'call' of undefined or null reference
> 
> 
> 

at line 1172, column 5 in jquery.validate.js

How can I fix this issue?

Answer: 
If you install jQuery.Migrate 1.1.1 then it will work fine with jQuery.Validation 1.11, jQuery 1.9 and 2.x.

As well as doing `install-package jQuery.Migrate`, you must then add the JavaScript to BundleConfig.cs - I added it just after jQuery and this is what the line that registers jQuery looks like now:

```
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
  "~/Scripts/jquery-{version}.js",           // jQuery itself
  "~/Scripts/jquery-migrate-{version}.js")); // jQuery migrate

```
The issue is the line of code inside of the validation script

```
$.event.handle.call(this,e);

```

The problem here is with `$.event.handle`. Both `this` and `e` have proper values. jQuery deprecated $.event.handle in favor of jQuery.event.dispatch according to the migration script <http://code.jquery.com/jquery-migrate-1.2.0.js>.

Fixing these errors is as easy as simply replacing the reference to handle with dispatch.

This can be wrapped in a document.ready callback to ensure it runs after the other scripts run.

```
$(function(){
    jQuery.event.handle = jQuery.event.dispatch
});

```