无法使用更新面板获取 jquery livequery
我在 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(...);
});
});
I have some basic html inside an asp.net update panel. Using livequery, I set up autocomplete, blur and keydown events so that they all continue to be wired up after the update panel does a partial page load. When the page initially loads, all the events work fine but after the update panel does a partial page reload, none of the events wired up with livequery continue to work. Are there known issues with livequery and update panels?
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>
And then I have my javascript. Normally it has a bunch of other code, but I can reduce it down to this and still have the problem:
$(document).ready(function() {
$(".searchlocation").livequery(function() {
$(this).keydown(function(event) {alert('test');});
...
$(this).autocomplete(...);
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用的是 jQuery 1.3+,则可以使用
.live()
没有任何插件,如下所示:If you're on jQuery 1.3+, you can use
.live()
without any plugin, like this: