簡體   English   中英

另一個觸發器完成后觸發單擊事件

[英]Trigger click event once another trigger is complete

目前,我以下列方式觸發點擊事件。

$( "#elem1" ).trigger( "click" );

我需要觸發2次點擊事件,所以我只需復制上述功能,如下所示。

$( "#elem1" ).trigger( "click" );
$( "#elem2" ).trigger( "click" );

不幸的是,在第一次單擊事件完成之前調用第二個函數。 所以我嘗試使用回調方法:

$("#elem1").trigger("click", function() {
    $( "#editLayoutButton" ).trigger( "click" );
    alert('clicked');
});

第二次單擊事件從未被觸發,因此我添加了一個警報功能以進行調試。 永遠不會調用警報功能。

小提琴

觸發方法沒有回調。

您可以使用setTimeout確保在第一次單擊觸發后發生其他觸發。

$( "#elem1" ).trigger( "click" );
setTimeout(function(){ 
   $('#elem2').trigger('click'); 
},1);

http://api.jquery.com/trigger/


也可以看看:
如何在jQuery觸發器上運行回調函數(“click”)?
如何檢測jquery觸發器事件完成?

它不可能在觸發器中放置一個函數,因為它不知道點擊的作用,因此觸發函數沒有回調函數。 有2個選項。

  1. 如果你知道在第一個函數完成之前需要多長時間。 使用setTimeout函數
  2. 使用第一次點擊觸發的功能,檢查它是否完成並觸發下一個點擊功能

我相信你在尋找這個:

$("#elem1").click( function () {
    $("#elem2").trigger("click");
    alert('clicked');
});

你正在做兩件不同的事情。 首先是你在看“點擊”。 點擊后,您將“觸發”另一次點擊。

暫無
暫無

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

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