Uncaught TypeError Cannot read properties of undefined reading easing after upgrading to 2026 Q1
Environment
| Product | UI for ASP.NET AJAX |
| Version | 2026.1.211 |
Description
After upgrading to Telerik UI for ASP.NET AJAX 2026.1.211 (2026 Q1), pages with Telerik controls throw JavaScript errors in the browser console:
Uncaught TypeError: Cannot read properties of undefined (reading 'easing')Uncaught TypeError: $telerik.$ is not a functionUncaught TypeError: h is not a constructor
These errors occur on pages that previously worked with an older version and use the legacy approach for disabling the embedded jQuery — a manual <script> tag in the <head> combined with explicit ScriptReference entries in RadScriptManager:
<head runat="server">
<script
src="https://code.jquery.com/jquery-3.7.1.min.js"
integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
crossorigin="anonymous"></script>
</head>
...
<telerik:RadScriptManager runat="server" ID="RadScriptManager1" EnableEmbeddedjQuery="false">
<Scripts>
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryExternal.js" />
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryPlugins.js" />
</Scripts>
</telerik:RadScriptManager>
Cause
Starting with the 2026 Q1 release, Telerik UI for ASP.NET AJAX initializes an isolated internal jQuery instance exposed through $telerik.$. The controls no longer attach to the global window.jQuery object automatically.
This behavior occurs when:
EnableEmbeddedjQueryis set tofalse— Telerik does not load its own jQuery.- No
ExternaljQueryUrlis provided — Telerik has no jQuery source to create its internal$telerik.$instance. - The old manual
ScriptReferenceapproach is used — The legacyCore.js/jQueryExternal.js/jQueryPlugins.jsscript references and a standalone<script>tag in the<head>no longer wire up$telerik.$correctly.
As a result, $telerik.$ remains undefined, the easing/animation extensions in jQueryPlugins.js cannot attach, and controls fail during initialization.
Solution
Remove the legacy <script> tag and ScriptReference entries, and use the new ExternaljQueryUrl property instead.
Option 1: Configure per page in markup
Replace the old RadScriptManager declaration:
<telerik:RadScriptManager runat="server" ID="RadScriptManager1"
EnableEmbeddedjQuery="false"
ExternaljQueryUrl="~/scripts/jquery-3.7.1.min.js">
</telerik:RadScriptManager>
Remove the manual <script> tag from the <head> and the <Scripts> section entirely. The ExternaljQueryUrl property handles everything automatically.
Option 2: Configure globally in web.config (recommended)
Set both properties in <appSettings> so every RadScriptManager in the application picks them up automatically — no per-page markup changes needed:
<appSettings>
<add key="Telerik.ScriptManager.EnableEmbeddedjQuery" value="false" />
<add key="Telerik.ScriptManager.ExternaljQueryUrl" value="~/scripts/jquery-3.7.1.min.js" />
</appSettings>
Then simplify the RadScriptManager declaration to:
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
Remove the manual <script> tag from the <head> and the <Scripts> section.
Steps
- Remove the manual jQuery
<script>tag from the<head>. - Remove the
<Scripts>section containingCore.js,jQueryExternal.js, andjQueryPlugins.jsreferences fromRadScriptManager. - Set the
ExternaljQueryUrlproperty either in theRadScriptManagermarkup (Option 1) or in theweb.config<appSettings>(Option 2). - Confirm the external jQuery script (
~/scripts/jquery-3.7.1.min.js) is accessible and correctly resolves. Use app-relative paths (~/), absolute paths (/), or CDN URLs (https://code.jquery.com/jquery-3.7.1.min.js) based on your application's requirements.
The
<head>tag must haverunat="server"for the external jQuery script to be injected. Ifrunat="server"is missing, thePage.Headerproperty isnulland the external jQuery script will not render.
Verification
- Apply the changes above and load a page with Telerik controls.
- Check the browser console for errors.
- If the page works without errors, the configuration is successful.
- Type in the console
jQuery.fn.jqueryand$telerik.$.fn.jqueryto verify that the setup and the new jQuery version is loaded as expected.