Javascript 是否使用Mootools在iframe内容中选择元素?

Javascript 是否使用Mootools在iframe内容中选择元素?,javascript,mootools,Javascript,Mootools,是否有一种方法可以使用Mootools选择器选择iframe内容中的元素 $('#myIframe input').addEvent('focus', function() { // Do something }); 提前谢谢你 如果iFrame在同一个域中,并且您正在其中使用Mootools,则可以尝试: $('myIframe').contentDocument.getElements('input').addEvent( 否则,请尝试以下操作: $('myIframe').co

是否有一种方法可以使用Mootools选择器选择iframe内容中的元素

$('#myIframe input').addEvent('focus', function() {
    // Do something
});

提前谢谢你

如果iFrame在同一个域中,并且您正在其中使用Mootools,则可以尝试:

$('myIframe').contentDocument.getElements('input').addEvent(
否则,请尝试以下操作:

$('myIframe').contentDocument.querySelector('input').addEventListener(
编辑: 如果要捕获加载事件,然后添加焦点侦听器,可以使用:

var iframe = new IFrame({
    src: '/RN95f/3/show',
    styles: {
        border: '2px solid #ccf'
    },
    events: {
        load: function () {
            alert('The iframe has finished loading.');
            this.contentDocument.getElements('input').addEvent('focus', function () {
                // Do something
                alert('focus on input detected!');
                console.log(this);
            });
        }
    }
});
$(document.body).adopt(iframe);

如果iFrame位于同一个域中,并且您正在其中使用Mootools,则可以尝试:

$('myIframe').contentDocument.getElements('input').addEvent(
否则,请尝试以下操作:

$('myIframe').contentDocument.querySelector('input').addEventListener(
编辑: 如果要捕获加载事件,然后添加焦点侦听器,可以使用:

var iframe = new IFrame({
    src: '/RN95f/3/show',
    styles: {
        border: '2px solid #ccf'
    },
    events: {
        load: function () {
            alert('The iframe has finished loading.');
            this.contentDocument.getElements('input').addEvent('focus', function () {
                // Do something
                alert('focus on input detected!');
                console.log(this);
            });
        }
    }
});
$(document.body).adopt(iframe);

塞吉奥的回答是正确的,谢谢塞吉奥的回复!然而,为了让它正常工作,我需要确保在找到输入元素之前加载iframe内容

$('myIframe').onload = function() {
    $('myIframe').contentDocument.getElements('input').addEvent('focus', function() {
        // Do something
    });
};

塞吉奥的回答是正确的,谢谢塞吉奥的回复!然而,为了让它正常工作,我需要确保在找到输入元素之前加载iframe内容

$('myIframe').onload = function() {
    $('myIframe').contentDocument.getElements('input').addEvent('focus', function() {
        // Do something
    });
};

感谢您抽出时间回复塞尔吉奥!这对我来说很有效,但我需要确保在尝试选择这样的输入元素之前加载了iframe内容。请参阅下面的我的答案以了解详细信息。查看了您在答案上发布的额外信息。用这些信息编辑了我的答案,请查看。我不知道你是不是让它工作了。不管怎样,我在下面的回答中使用了代码,但是,使用IFrame对象可能会有用。最终,我认为我可能希望在某个时候重新设计站点,以摆脱iFrame,转而使用ajax调用。无论如何,谢谢你花时间回复!感谢您抽出时间回复塞尔吉奥!这对我来说很有效,但我需要确保在尝试选择这样的输入元素之前加载了iframe内容。请参阅下面的我的答案以了解详细信息。查看了您在答案上发布的额外信息。用这些信息编辑了我的答案,请查看。我不知道你是不是让它工作了。不管怎样,我在下面的回答中使用了代码,但是,使用IFrame对象可能会有用。最终,我认为我可能希望在某个时候重新设计站点,以摆脱iFrame,转而使用ajax调用。无论如何,谢谢你花时间回复!