我正在使用包含这些事件监听器的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是否需要在某处调用才能使它们工作或者它们应该如何监听?
答案 0 :(得分:1)
bindEventListeners()
存在后,您需要致电.cart .btn--close
。如果该元素在页面上静态存在,则应在$(document).ready()
处理程序中调用它,如
$(document).ready(function(){
bindEventListeners();
})
或者如果通过ajax调用动态创建.cart .btn--close
,那么bindEventListeners()
应该在加载到DOM之后完成。