Как добавить событие click в P элементов в iframe (используя jQuery)

Как добавить событие click к <p> элементы в iframe (с использованием jQuery)

<iframe frameborder="0" id="oframe" src="iframe.html" width="100%" name="oframe">

4 ответов


существует специальная функция jQuery, которая делает это:.contents(). См. пример того, как это работает.


лучше всего вызвать iframe, пока он является частью вашего домена.

iframe.HTML-код

<html>
    <head>
        <script>
            window.MyMethod = function()
            {
                $('p').click();
            }
        </script>
    </head>
    <body></body>
</html>

и затем использовать

document.getElementById('targetFrame').contentWindow.MyMethod();

для вызова этой функции.

другой способ получить доступ к форме через window.frames.

<iframe name="myIframe" src="iframe.html"/>

и javascript

child_frame = window.frames['myIframe'].document;
$('p',child_frame).click(function(){
    alert('This click as bound via the parent frame')
});

Это должно работать нормально.


давая ссылку на документ IFrame в качестве второго параметра jQuery, который является контекстом:

jQuery("p", document.frames["oframe"].document).click(...);

чтобы получить доступ к любому элементу из iframe, простой подход JavaScript выглядит следующим образом:

var iframe = document.getElementById("iframe");
var iframeDoc = iframe.contentDocument || iframe.contentWindow;
// Get HTML element
var iframeHtml = iframeDoc.getElementsByTagName("html")[0];

теперь вы можете выбрать любой элемент, используя этот html-элемент

iframeHtml.getElementById("someElement");

теперь вы можете привязать любое событие к этому элементу. Надеюсь, это поможет. Извините за неправильный английский.