我有一个包含以下事件的索引页。
<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);
});
});
});
在其中,当您单击时,将div sub_page中的子页面的html内容加载。 在view view view_ej中,我带了html代码以及jquery代码。添加到索引div的视图的Jquery代码如下:
$(document).ready(function () {
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert("hello");
});
});
通过单击包含类“ menu_navegacion_abrircaja”的链接,我得到警报(“ hello”); 但事实证明,这是一个问题,每次我单击链接时,都会重复发出警报消息(警报(“ hello”);)。例如,我第一次单击包含菜单menu_navegacion_abrircaja类的链接,可以很好地显示一次警报,但是随后我再次单击同一链接,它两次向我显示警报,然后第三次执行该警报,他向我显示了警报的三倍,依此类推。
我想知道如何解决这个问题。 是否有任何方法可以重启jquery的事件或处理程序,例如事件单击,更改,“ hidden.bs.modal”等,从而避免了事件的重复?
我已经看到了unbind(),bind(),off()的方法,这可能是解决方案,但是如果是这样,您如何应用它们?
答案 0 :(得分:0)
也许您可以在子页面的jQuery代码中尝试类似的方法:
$(document).ready(function () {
$('#modal_establecer_turnos').off('hidden.bs.modal');
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert(“hello”);
});
});