我在asp.net更新面板中有一些基本的html。使用livequery,我设置了自动完成,模糊和keydown事件,以便在更新面板执行部分页面加载后继续连接它们。当页面最初加载时,所有事件都可以正常工作,但是在更新面板执行部分页面重新加载后,与livequery连接的所有事件都不会继续工作。 livequery和更新面板是否存在已知问题?
HTML:
<asp:UpdatePanel ID="upData" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DataList ID="dlData" runat="server"
DataSource='<%# this.Data %>' DataKeyField="ID">
<ItemTemplate>
<table>
<tr>
<th class="required">Location</th>
<td><asp:TextBox ID="txtFromLocation" MaxLength="10" CssClass="searchlocation fromlocation required" runat="server" Text='<%# Eval("FromLocation")%>'/><asp:RequiredFieldValidator ID="rvalFromLocation" runat="server"
ControlToValidate="txtFromLocation" ValidationGroup="leg">*</asp:RequiredFieldValidator></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</ContentTemplate> </asp:UpdatePanel>
然后我有我的javascript。通常它有一堆其他代码,但我可以将它减少到这个仍然有问题:
$(document).ready(function() {
$(".searchlocation").livequery(function() {
$(this).keydown(function(event) {alert('test');});
...
$(this).autocomplete(...);
});
});
答案 0 :(得分:2)
如果您使用的是jQuery 1.3+,则可以使用.live()
而不使用任何插件,如下所示:
$(function() {
$('.searchlocation').live('keydown', function(event) {
alert('test');
});
});