如何重新启动 Jquery 事件,以避免重复每个事件?
How to restart the Jquery events, to avoid the repetition of each one of them?
我有一个包含以下事件的索引页。
<div id="sub_page"></div>
$(document).ready(function () {
$("a.menu_navegacion_abrircaja").on('click', function (ev) {
ev.preventDefault();
var href = “nombrecontrollerEJ/view_ej";
$.post(href, function (data) {
$("#sub_page").html(data);
});
});
});
其中,当你点击时,加载divsub_page子页面的html内容。
在视图 view_ej 中,我带来了 html 代码以及 jquery 代码。添加到索引div的视图的Jquery代码如下:
$(document).ready(function () {
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert("hello");
});
});
通过单击包含 class "menu_navegacion_abrircaja" 的 link,我收到了警报 ("hello");
但是发现有问题,每次点击link,都会重复提示信息(alert("hello");)。例如,我第一次单击包含 class menu_navegacion_abrircaja 的 link 时,它可以正常显示一次警报,但随后我再次单击相同的 link它向我显示了两次警报,然后我进行了第三次,他向我显示了三次警报,依此类推。
我想知道如何解决这个问题。
是否有任何方法可以重新启动 jquery 的事件或处理程序,如事件单击、更改、"hidden.bs.modal" 等,以避免重复事件?
我看过unbind()、bind()、off()等方法,可能是解决方案,但如果是的话,如何应用?
也许您可以在子页面的 jQuery 代码中尝试类似的操作:
$(document).ready(function () {
$('#modal_establecer_turnos').off('hidden.bs.modal');
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert(“hello”);
});
});
我有一个包含以下事件的索引页。
<div id="sub_page"></div>
$(document).ready(function () {
$("a.menu_navegacion_abrircaja").on('click', function (ev) {
ev.preventDefault();
var href = “nombrecontrollerEJ/view_ej";
$.post(href, function (data) {
$("#sub_page").html(data);
});
});
});
其中,当你点击时,加载divsub_page子页面的html内容。 在视图 view_ej 中,我带来了 html 代码以及 jquery 代码。添加到索引div的视图的Jquery代码如下:
$(document).ready(function () {
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert("hello");
});
});
通过单击包含 class "menu_navegacion_abrircaja" 的 link,我收到了警报 ("hello"); 但是发现有问题,每次点击link,都会重复提示信息(alert("hello");)。例如,我第一次单击包含 class menu_navegacion_abrircaja 的 link 时,它可以正常显示一次警报,但随后我再次单击相同的 link它向我显示了两次警报,然后我进行了第三次,他向我显示了三次警报,依此类推。
我想知道如何解决这个问题。 是否有任何方法可以重新启动 jquery 的事件或处理程序,如事件单击、更改、"hidden.bs.modal" 等,以避免重复事件?
我看过unbind()、bind()、off()等方法,可能是解决方案,但如果是的话,如何应用?
也许您可以在子页面的 jQuery 代码中尝试类似的操作:
$(document).ready(function () {
$('#modal_establecer_turnos').off('hidden.bs.modal');
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert(“hello”);
});
});