由于我需要通过动态创建的元素监听事件,我被建议在文档级别上监听事件,因此我创建了一个全局点击事件监听器,并开始按以下方式监听所需的元素
$j(document).on("click",function(e) {
if ( $j(e.toElement).parent().is( $menu ) ) {
// click on menu
}
if ( $j(e.toElement).parent().is( $tabs ) ) {
// click on tabs
}
})
但现在我想在菜单上触发点击,但是当我这样做时
$menu.trigger("click");
但它不起作用。需要帮助
答案 0 :(得分:2)
我不知道为什么有人会使用它,但这样做会有所作为:
var event = jQuery.Event('click');
event.toElement = $menu.children().first();
$(document).trigger(event);
不,只需委托事件:
$(document).on('click', 'selectorFor$menu', function(){
/**/
});
$(document).on('click', 'selectorFor$tab', function(){
/**/
});
答案 1 :(得分:-1)
我的意思是这里有很多未知数,但我的建议是确保您正确导入jQuery:
然后确保您了解选择器的工作原理:https://api.jquery.com/category/selectors/
例如,如果您的菜单为id="menu"
,那么它将如下所示:
<div id="menu">This is the menu</div>
并且,您的jQuery选择器将如下所示:
$('#menu').click( function() { alert("you clicked me.") } )
jsfiddle很适合用于示例,请参见此处的示例: