ADF:jquery指向页面上的特定元素

时间:2013-04-25 07:51:10

标签: oracle-adf jdeveloper

我正在使用jdev11.1.1.6

如果我需要滚动到页面顶部..这完美地运作..

var scrollTop = function (event) {
$('.mainWrapper,body,html').animate( {
scrollTop : 0
}, 'slow');
}

我将它从pqr.jsff称为

<af:commandLink text="click test" clientComponent="true" id="col7">
<af:clientListener method="scrollTop " type="click"/>
</af:commandLink>

link where it directs it to specific element

我修改了我的功能如下,但它对我不起作用

var scrollToSpecificPosition= function (event) {
$('.mainWrapper,body,html').animate( {
scrollTop : $("#gl1").offset().top
}, 'slow');
}

gl1是我希望指向的ID

<af:goLink id="gl1" text="test"></af:goLink>

我将它从pqr.jsff称为

<af:commandLink text="click test" clientComponent="true" id="col7">
<af:clientListener method="scrollToSpecificPosition" type="click"/>
</af:commandLink>

1 个答案:

答案 0 :(得分:0)

我想,问题是Id字段。
“gl1”id是adf组件的正确标识符,但是在html-dom中它会有点不同,因为adf组件本身可能具有复杂的html结构并且保持id的唯一adf会将父ID添加为它作为前缀等。
还有一件事。您必须检查 clientComponent 选项是否设置为“ true ”,以确保此组件在dom中可用。然后找到像FireBug真实组件ID

这样的东西

它可能看起来有点复杂,比如“pt1:pg1:gl1:link”。如果您确定您的代码将始终在同一环境中运行,则可以对此ID进行硬编码。 另一个选择是使用mask来查找你的组件。

此外,您可以尝试使用AdfPage(本机js lib)按原始ID访问adf组件(虽然它不是那么容易使用,也有一些限制)。