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应该是.seBox接收事件的特定元素,并且event.currentTarget应该是div.editBox(我不确定最后一个,文档对此不太清楚,我总是将其与 混淆event.target
于 2013-06-07T14:45:00.627 回答