2017-06-18 94 views
0

我在我的DOM中有一個音頻元素。 我執行以下命令,好像click事件不會觸發因爲某些原因:Click事件不會觸發Chrome中的音頻元素

$0.addEventListener('click',function(){console.log('click')}); 

,當我試圖將它的工作如預期鼠標懸停處理程序:

$0.addEventListener('mouseover',function(){console.log('mouseover')}); 

在Firefox中點擊事件正常工作。 任何想法?

回答

0

直接,它不會工作。

您將需要添加一個shimified div aroudn它來獲得點擊事件。

的Javascript:

function onAudioElClick() { 
    console.log('click'); 
} 

HTML:

<div onclick="onAudioElClick()" style="position:absolute; z-index:9999; width:300px; height:30px;"></div> 
<audio></audio>` 
+0

我實際上不想要t o更改html。你是說這是一個鉻的錯誤? –

+0

這是一個理想的行爲。 – gauravmuk

+0

爲什麼?它沒有記錄,音頻元素不會觸發點擊事件,並在Firefox中的作品... –

0

這是非常奇怪的是,mouseover作品,但click沒有。

如果您將包裹裏面像div其他元素audio元素,那麼你可以處理click事件:

的JavaScript:

<div> 
    audio element 
    <audio src="http://developer.mozilla.org/@api/deki/files/2926/=AudioTest_(1).ogg" autoplay></audio> 
</div> 

HTML:

var el = document.querySelector("div"); 
el.addEventListener('click',function(){console.log('click')}); 

https://jsfiddle.net/b3sbmqpj/

相關問題