簡體   English   中英

文檔正在列出以單擊,如何在子項上觸發事件

[英]document is listing to click, how to trigger event on a child

由於我需要從動態創建的元素中偵聽事件,因此建議我在文檔級別偵聽事件,因此我創建了一個全局單擊事件偵聽器,並開始偵聽所需的元素,如下所示

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

但它不工作。 需要幫忙

我不知道為什么有人會使用它,但這可以解決問題:

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(){
  /**/
});

我的意思是這里有很多未知數,但我的建議是確保您正確導入 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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM