0

イベントが発生した iframe を含む div の jquery index() 位置を取得しようとしています。すべて同じドメインにあります。

<div class="seBox">
    <div class="editBox">
        <input type="hidden" id="textarea1___Config" style="display:none">
        <iframe id="textarea1___Frame" src="/3rdparty/fckeditor/editor/fckeditor.html?InstanceName=textarea1&amp;Toolba‌​r=SimpleToolbar" width="100%" height="200" frameborder="0" scrolling="no" style="margin: 0px; padding: 0px; border: 0px; background-color: transparent; background-image: none; width: 100%; height: 200px;"></iframe>
        <textarea name="textarea1" class="field-style seItem-input" cols="45" style="display: none;"></textarea>
    </div>
</div>

現時点では、機能しないイベント関数のコードは次のようになります。

alert($(this, window.parent.document).closest('.seBox').index());

どんな助けでも大歓迎です!

4

1 に答える 1

0

あなたが何を達成しようとしているのか正確にはわかりませんが、委任されたイベントハンドラーでこの問題に取り組むことができるかもしれません。

これを試してください(テストされていません):

$( 'div.seBox' ).on( 'myEvent', 'div.editBox', function( event ){
  var index = $(event.delegateTarget).index(event.currentTarget)
});

イベントは次のことを行う必要があります。

  • iframe から.seBox
  • 委任されたイベント ハンドラーをトリガーする
  • ハンドラー内では、イベントを受け取るevent.delegateTarget特定の要素である必要があり、(この最後の要素についてはよくわかりません。ドキュメントはこれについて明確ではなく、常に混同しています).seBoxevent.currentTargetdiv.editBoxevent.target
于 2013-06-07T14:45:00.627 に答える