绑定事件侦听器函数,以后需要调用函数吗?

Binding event listeners function, do I need to call the function later?

本文关键字:函数 调用 事件 侦听器 绑定      更新时间:2023-09-26

我正在使用一个包含这些事件侦听器的api,用于将div的显示从隐藏更改为可见。

function bindEventListeners() {
    /* cart close button listener */
    $('.cart .btn--close').on('click', closeCart);
    /* click away listener to close cart */
    $(document).on('click', function(evt) {
      if((!$(evt.target).closest('.cart').length) && (!$(evt.target).closest('.js-prevent-cart-listener').length)) {
        closeCart();
      }
    });
};
这些侦听器不起作用,

单击离开侦听器不起作用,关闭按钮也不工作。在支持文档中,它们只是这样给出的,但是是否需要在某个地方调用函数 bindEventListeners 才能让他们工作,或者他们应该如何监听?

您需要在

.cart .btn--close存在后调用bindEventListeners()。如果该元素静态存在于页面上,则应在$(document).ready()处理程序中调用它,例如

$(document).ready(function(){
    bindEventListeners();
})

或者,如果.cart .btn--close是通过 ajax 调用动态创建的,那么bindEventListeners()应该在加载到 DOM 后完成。