簡體   English   中英

無法觸發jQuery中的事件

[英]Unable to trigger events in jQuery

我想在音頻元素上的jQuery中觸發上下文菜單事件。 這是代碼:

$("audio").contextmenu();

但是,這不會顯示該元素的上下文菜單。 我認為可能需要一些用戶交互,因此我將其包裝在一個moueenter事件中。

$("audio").on("mouseenter", function(e) {
   $(this).contextmenu();
}

但是,上下文菜單仍然不會出現。 最后,我決定手動在音頻元素上單擊鼠標右鍵並觸發按鍵事件,但它似乎也無能為力。

$("audio").on("contextmenu", function(e) {
  var code = 86;
  $(this).trigger(
    jQuery.Event( 'keydown', { keyCode: code, which: code } )
  );
});

該代碼段應該在按下“ v”時觸發jQuery按鍵事件。

當我們右鍵單擊音頻元素並按“ v”時,它將顯示一個“將音頻另存為”對話框。 我想編寫代碼以觸發上下文菜單並以編程方式按鍵,但是它們似乎都沒有作用。 這是為什么?

您可以觸發音頻元素上的右鍵菜單,但前提是您右鍵單擊它。 確保將“ controls”屬性添加到您的音頻元素,以便單擊某些內容。 在下面的代碼上嘗試一下。

 $("audio").on("contextmenu", function(e) { alert("Hello Context Menu!"); }); $("button").on("click", function(){ $("audio").contextmenu(); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <audio id="t-rex-roar" controls src="https://soundbible.com/mp3/Tyrannosaurus%20Rex%20Roar-SoundBible.com-807702404.mp3"> </audio> <button>Call Context Menu Event for Audio Element, Event only</button> 

但是 ,您不能添加顯示另一個元素的上下文菜單的按鈕單擊事件。 以編程方式調用瀏覽器的右鍵單擊菜單選項?

暫無
暫無

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

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