Hi again!
Here's the reprosteps of a bug for the example below: type sequentially letter 'a' and semicolon in intervals of 500 ms or less (approximately). I didn't measure precisely, but it is a bit slower than normal speed of touch-typing.
The error occurs: "Microsoft JScript runtime error: Unable to get value of the property 'left': object is null or undefined". The error occurs when both OnEntryAdded and OnEntryRemoved are assigned.
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestAutocompleteSuggList._Default" %><%@ Register Assembly="Telerik.Web.UI, Version=2012.3.1120.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"> <title></title> <script type="text/javascript" src="Scripts/jquery-1.8.3.min.js"></script></head><body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <asp:UpdatePanel runat="server"> <ContentTemplate> <telerik:RadAutoCompleteBox runat="server" ID="racAutocomplete" AllowCustomEntry="true" OnEntryAdded="ServerEntryAdded" OnEntryRemoved="ServerEntryAdded" InputType="Token" /> </ContentTemplate> </asp:UpdatePanel> </div> </form></body></html>Default.aspx.cs
using System;using System.Web.UI;using System.Collections.Generic;using Telerik.Web.UI;using System.Threading;namespace TestAutocompleteSuggList{ public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { const string StartupJS = @" var $input = jQuery('#{1} input[name=""{0}""]'); $input.focus(); "; ScriptManager.RegisterStartupScript(this,//restore focus on AutocompleteBox this.GetType(), "ScriptOnLoad", string.Format(StartupJS, racAutocomplete.ClientID.Replace("_", "$"), racAutocomplete.ClientID), true); const int maxcount = 10; racAutocomplete.DataSource = new List<string>() { new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), new string('a', maxcount), }; racAutocomplete.DataBind(); } protected void ServerEntryAdded(object sender, AutoCompleteEntryEventArgs e) { } }}
