如何使用jQuery捕获帧内链接上的click事件?

时间:2013-02-22 23:46:47

标签: jquery jsp hyperlink frame

我在jsp页面中使用jQuery 1.6.2,我正在尝试捕获框架中任何链接的click事件。需要注意的是,链接位于框架(不是iframe)中,并且没有div。 html结构是:

frameset
    frame with id and name
    frame with id and name
        html
            body
                table
                    tbody
                        tr
                          td
                            <a class='className' href="reference to another jsp to load"/>
...

我可以使用此代码作为示例来删除所有可用的链接。

$('a',top.frames['frameName'].document).remove(); //This works!

但是,我对如何将click事件处理程序附加到这些链接感到困惑。我从一些简单的开始:

$('a').click(function(){ 
        alert("Click function found!");
    });

已经在这方面工作了一段时间但没有成功。

关于如何做到这一点的任何想法?

最终

我做错的是使用document.ready()来放置我的代码。当我这样移动时:

$(window).load(function () {
    //$('a',top.frames['myFrame'].document).remove();
    $('a',top.frames['myFrame'].document).bind('click', function(e){
        alert('In myFrame!');
        e.preventDefault();
    });
});
一切顺利!

1 个答案:

答案 0 :(得分:1)

如果以下工作:

$('a',top.frames['frameName'].document).remove();

然后应该:

$('a',top.frames['frameName'].contentDocument).click(function(){  .... });

请记住,要实现此功能,必须在绑定click事件时加载框架。