我想确保下面的函数“附加”到相应的事件。 该功能确实执行,但我无法在Chrome中看到它>全球听众。 (我假设它将在Mouse,Click事件下)
/* expander control */
$().ready(function() {
$(document).on('click', '.js-expander', function(e){
var e = e || event,
$el = $(this),
$content;
e.preventDefault();
$content = $el.parent().next('.js-expander-content')
if ($content.length == 0)
$content = $el.parent().parent().next('.js-expander-content')
if ($content.length == 0)
$content = $el.siblings('.js-expander-content');
$content.slideToggle(150);
})
})
答案 0 :(得分:1)
.on
方法调用的第二个参数是“一个选择器字符串,用于过滤触发事件的所选元素的后代。”
这意味着您无法找到附加到文档的click
事件(全局事件);相反,它将附加到与选择器匹配的每个元素(" .js-expander")。
如果首先出现任何此类元素,您可能需要检查附加到每个元素的事件处理程序(尝试:console.log($(".js-expander").length);
)