文档是列出单击,如何触发子项上的事件

时间:2016-05-26 16:22:33

标签: javascript jquery

由于我需要通过动态创建的元素监听事件,我被建议在文档级别上监听事件,因此我创建了一个全局点击事件监听器,并开始按以下方式监听所需的元素

$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");

但它不起作用。需要帮助

2 个答案:

答案 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很适合用于示例,请参见此处的示例:

https://jsfiddle.net/e15oynhc/