2017-08-29 130 views
0

我有一個只包含嵌入式YouTube視頻的html iframe。我試圖在用戶點擊視頻/ iframe時執行操作,但不起作用。這裏是代碼:jQuery點擊iframe視頻(youtube)

HTML:

<iframe id="myVideo" autoplay="true" src="https://www.youtube.com/embed/pyvGEnmv1E0"></iframe> 

的jQuery:

$(function(){ 
    //line in question: 
    $('#myVideo').contents().find("body").click(function(){ 
    //perform action here 
    }); 
}); 

在 「問題線」 之上,我也曾嘗試更簡單 -

$('#myVideo').click(function(){}); 

但也失敗了。任何幫助都非常感謝。

安德魯

回答

0

如果您不需要單擊事件打通內嵌框架,你可以使用覆蓋面,並捕獲click事件上。

像這樣:

HTML:

<div id="myVideoWrapper"> 
    <iframe id="myVideo" autoplay="true" src="https://www.youtube.com/embed/pyvGEnmv1E0"></iframe> 
    <div id="myVideoOverlay"></div> 
</div> 

CSS:

#myVideoWrapper { 
    position:relative; 
} 

#myVideoOverlay { 
    position:absolute; 
    top:0; 
    left:0; 
    width:100%; 
    height:100%; 
} 

JS:

$(function(){ 
    $('#myVideoOverlay').click(function(){ 
     alert('clicked'); 
    }); 
}); 
+0

嗨大衛,感謝您的快速回答,可惜就是沒完全解決問題。您的解決方案的完整代碼在這裏:www.samedaygrocerydelivery.net/test2.txt並在此處實現:www.samedaygrocerydelivery.net/test2.php – user2744032

+0

您還需要添加CSS - 這將使覆蓋div元素坐在iframe元素的頂部。然後你應該看到點擊事件被觸發。但正如我所說,它會阻止點擊事件進入iframe,所以它可能不是一個好的解決方案。有一個技巧在下面的鏈接描述,這可能會更好:https://stackoverflow.com/questions/2381336/detect-click-into-iframe-using-javascript#answer-23231136 – David

+0

是啊,你提供的鏈接上面的鏈接爲我工作。謝謝大衛。 -安德魯 – user2744032