在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'); })
会奏效。但是当它带有移动设备时点击方法无效......
答案 0 :(得分:0)
我会尝试为iFrame设置一个ID,然后像这样绑定它:
$('#iFrameId).on('tap', 'div', function() { console.info('sucess'); });
请记住,您需要在使用JQuery mobile加载的第一个页面中包含的脚本中创建事件绑定。按照设计,稍后加载的其他文件中包含的所有JS脚本都将被忽略。
答案 1 :(得分:0)
您需要将处理程序附加到iframe的contentDocument:
$($frame[0].contentDocument).on('click', '#tap', function(){
alert('success');
});