0

此代码使用 visualforce(salesforce 的页面编辑器语言)。基本上, apex:repeat 标记作为一种循环发挥作用,从 outputlink 生成一组 url。所有这些网址都有一个“名称”类。

jquery 要做的是找到所有带有类名的 url,然后单击它们,以便它们在新窗口中打开。它不工作。

<apex:page standardcontroller="Account" extensions="maininvoice">

<apex:repeat value="{!theListOfIDs}" var="anId">
     <apex:outputLink target="_blank" value="{!URLFOR($Page.invoice2,anId)}" styleClass="name" />
</apex:repeat>

<apex:includeScript value="{!URLFOR($Resource.jquery, 'js/jquery-1.4.2.min.js')}"/>
<script type="text/javascript">
var j$ = jQuery.noConflict();
j$(document).ready(function(){

$('.name').click();
alert("debug");
                }
                );

</script>

</apex:page>
4

1 回答 1

2

A.click()不会导致默认行为发生(例如,跟随链接/打开窗口),如果您希望发生这种情况,您必须调用window.open()自己,如下所示:

var j$ = jQuery.noConflict();
j$(function(){
  $('.name').each(function() {
    window.open(this.href);
  });
  alert("debug");
});

但请注意,大多数浏览器会阻止您这样做,不确定在那里推荐什么,而且我个人也不喜欢在页面加载时打开窗口。

于 2010-07-29T01:45:58.883 回答