0

jqueryのonメソッドでiframe をバインドします。

ページ内のiframeでjqueryモバイルライブラリを使用しています。

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

メソッドで 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'); })。しかし、モバイル デバイスの場合、クリックメソッドは機能しません...

4

2 に答える 2

0

jsbin

ハンドラーを iframe の contentDocument にアタッチする必要があります。

$($frame[0].contentDocument).on('click', '#tap', function(){
    alert('success');
});
于 2013-02-21T08:32:48.040 に答える
0

ID を iFrame に設定し、次のようにバインドしようとします。

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

JQuery モバイルで読み込まれた最初のページに含まれるスクリプトで、イベント バインディングを作成する必要があることに注意してください。設計上、後でロードされる他のファイルに含まれるすべての JS スクリプトは無視されます。

于 2013-02-21T07:46:50.537 に答える