如何重新启动Jquery事件,以避免每一个事件的重复



我有一个包含以下事件的索引页面。

<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_ej中,我带来了html代码和jquery代码。添加到索引div的视图的Jquery代码如下:

$(document).ready(function () {
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert("hello");
});
});

单击包含类"menu_navegac_abrircaja"的链接,我会收到警报("你好"(;但事实证明,这是一个问题,每次我点击链接,警报消息都会重复出现(alert("hello"(;(。例如,我第一次点击包含类menu_navegac_abrircaja的链接时,它显示警报一次效果很好,但随后我再次点击同一链接,它显示我警报两次,然后我做第三次,他显示我警报三次,依此类推

我想知道如何解决这个问题。是否有任何方法可以重新启动jquery的事件或处理程序,如事件单击、更改、"hidden.bs.modal"等,以避免它们重复事件?

我见过unbind((、bind(?

也许您可以在子页面的jQuery代码中尝试这样的东西:

$(document).ready(function () {
$('#modal_establecer_turnos').off('hidden.bs.modal');
$('#modal_establecer_turnos').on('hidden.bs.modal', function () {
alert(“hello”);
});
});

最新更新