我在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();
});
});
一切顺利!
答案 0 :(得分:1)
如果以下工作:
$('a',top.frames['frameName'].document).remove();
然后应该:
$('a',top.frames['frameName'].contentDocument).click(function(){ .... });
请记住,要实现此功能,必须在绑定click事件时加载框架。