1

我在 jsp 页面中使用 jQuery 1.6.2,并且试图捕获框架中任何链接的点击事件。需要注意的是链接在一个框架中(不是 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!

但是,我不知道如何将单击事件处理程序附加到这些链接。我从简单的事情开始,例如:

$('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();
    });
});

一切正常!

4

1 回答 1

1

如果以下工作:

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

那么应该:

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

请记住,要使其正常工作,必须在绑定单击事件时加载框架。

于 2013-02-22T23:48:30.570 回答