如何在 asp:button 单击后刷新 jQuery 事件绑定
How to refresh jQuery event bind after asp:button click
我需要一种方法来刷新此 jQuery 代码:
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
单击 asp 按钮后:
<asp:Button runat="server" ID="btnSearch" Text="Search" OnClick="btnSearch_Click" />
我尝试使用:
$(document).ready(function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
});
没用...
我尝试使用:
$(".alert_info").on("click", function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
});
也没用...
这是 class 的输入。alert_info:
<a class="alert_info cboxElement" href="#alertWin10">View details</a>
当有 postback 或 parital post back 时,您可以重新绑定事件侦听器。您应该能够在您的 js 中定位 pageLoad
事件。另一种选择是将所有初始化代码放在 (javascript) pageLoad
函数中,因为只要有 postback 或部分 postback (ajax/update 面板)。
function pageLoad(sender, args) {
//rebind events here
}
这只是我不喜欢 WebForms 的原因之一。
请按照以下步骤操作,看看您的问题是否已解决。
将下面的代码分配给一个字符串
$(文档).ready(函数(){
$(".alert_info").colorbox({
内联:真,宽度:“50%”,
打开:函数(){
}
});
});
使用 Scriptmanager.RegisterStartupScript 并将属性值与脚本字符串一起传递,并从代码隐藏的按钮单击事件中调用相同的内容。
这将调用代码并刷新您的脚本。
嗯,终于解决了:
$(function () {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
var json = $.parseJSON($(this).siblings("input[type='hidden']").first().val());
}
});
});
});
这是一个 link 显示解决方案 See "mitsbits" answer
我需要一种方法来刷新此 jQuery 代码:
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
单击 asp 按钮后:
<asp:Button runat="server" ID="btnSearch" Text="Search" OnClick="btnSearch_Click" />
我尝试使用:
$(document).ready(function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
});
没用...
我尝试使用:
$(".alert_info").on("click", function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
});
也没用...
这是 class 的输入。alert_info:
<a class="alert_info cboxElement" href="#alertWin10">View details</a>
当有 postback 或 parital post back 时,您可以重新绑定事件侦听器。您应该能够在您的 js 中定位 pageLoad
事件。另一种选择是将所有初始化代码放在 (javascript) pageLoad
函数中,因为只要有 postback 或部分 postback (ajax/update 面板)。
function pageLoad(sender, args) {
//rebind events here
}
这只是我不喜欢 WebForms 的原因之一。
请按照以下步骤操作,看看您的问题是否已解决。
将下面的代码分配给一个字符串
$(文档).ready(函数(){ $(".alert_info").colorbox({ 内联:真,宽度:“50%”, 打开:函数(){ } }); });
使用 Scriptmanager.RegisterStartupScript 并将属性值与脚本字符串一起传递,并从代码隐藏的按钮单击事件中调用相同的内容。
这将调用代码并刷新您的脚本。
嗯,终于解决了:
$(function () {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
var json = $.parseJSON($(this).siblings("input[type='hidden']").first().val());
}
});
});
});
这是一个 link 显示解决方案 See "mitsbits" answer