如何在jquery中使用'on'方法绑定iframe?

时间:2013-02-21 06:34:15

标签: javascript jquery jquery-mobile iframe jquery-on

在jquery中使用 on 方法绑定iframe。

我在页面中使用带有iframe的jquery mobile lib。

$(frame).contents().on('tap', 'div', function() { console.info('sucess')} )}

如何使用 on 方法绑定iframe?

在这里,我尝试使用 on 方法将点击功能绑定到iframe内容。

//Structure of HTML page

<div  data-role="page" id="test" tabindex="0" class="ui-page ui-body-c" style="min-height: 491px;">
    <iframe height="491" frameborder="0" width="100%" src="about:blank" name="test">
        // ...
        <div id="one" data-role="page">
            <div data-role="content">
                // Contents
            </div>
        </div>
        // ...
    </iframe>
</div>

点击方法 $(frame).contents().click(function(e) { alert('sucess'); })会奏效。但是当它带有移动设备时点击方法无效......

2 个答案:

答案 0 :(得分:0)

我会尝试为iFrame设置一个ID,然后像这样绑定它:

$('#iFrameId).on('tap', 'div', function() { console.info('sucess'); });

请记住,您需要在使用JQuery mobile加载的第一个页面中包含的脚本中创建事件绑定。按照设计,稍后加载的其他文件中包含的所有JS脚本都将被忽略。

答案 1 :(得分:0)

jsbin

您需要将处理程序附加到iframe的contentDocument:

$($frame[0].contentDocument).on('click', '#tap', function(){
    alert('success');
});