如何触发新打开的窗口/选项卡上的单击?

时间:2014-11-10 16:10:26

标签: javascript

在我的"信息"页面我使用Jquery动态加载内容。

我使用这种链接:

<a href="#" onClick="InfoSection('0303')">

进行正确的div加载:

$(".info-main").css({display: "none"}); 
$("#info-main-"+active).fadeIn(600);  

这很好用

现在,当我打开&#34; info&#34;时,我想触发点击此链接。新窗口/选项卡中另一页面的页面,以便加载正确的内容。我怎么能这样做?

非常感谢你的帮助。

3 个答案:

答案 0 :(得分:0)

您可以尝试:

HTML:

<a id="test" href="#" onClick="InfoSection('0303')">

JS:

    $('#teste').trigger('click');

    $(a).trigger('click');

答案 1 :(得分:0)

请参阅此未经优化的(!)代码并在本地尝试(另存为test.html和info.html,并在浏览器中以test.html和test.html#info和info.html以及info.html#info打开见效果):

JS部分(在头部/身体中包含JQuery ......)

$(window).load(function(){
function page_url_contains_info(){
    console.log(window.location.href.indexOf("info") > -1);
    return(window.location.href.indexOf("info") > -1);
}

function InfoSection(a){
     $(".info-main").css({display: "none"}); 
        $("#info-main-"+active).fadeIn(600);
        $("#info").fadeIn(600);
}


if(page_url_contains_info()){
    InfoSection(2);
}


$('#info-link').click(function(e){
    e.preventDefault();
    var hash_orig = document.location.hash;
    var hash = hash_orig.replace('#', '');
    console.log(hash);
    if(hash === "info" || page_url_contains_info){
       InfoSection(2);
    }
});

var active = "dummy";

$(window).bind('hashchange', function() {
    var hash_orig = window.location.hash;
    var hash = hash_orig.replace('#', '');
    if( hash === "info" || page_url_contains_info ){
       InfoSection(1);
    }
});
});//]]>

HTML部分:

<a href="#info" id="info-link">Test</a>

<div class="info-main">".info-main"</div>

<div id="info-main-dummy">"info-main-dummy"</div>

<div id="info" style="display:none;">This is shown if url is in page url or is a hash or if we click on "#info"</div>

这里是小提琴(由于JSfiddle的限制而无法正常工作 - 您必须在本地或服务器上使用代码):http://jsfiddle.net/mm0yxqpt/

我认为您将能够看到JS的不同部分,并决定您将使用哪一部分(并根据您的需求进行优化)。

答案 2 :(得分:0)

所以我做了vcrzy和nettutvikler的建议。

在原始页面上,我刚刚为href链接添加了一个锚点。

在目标页面上,我包含了一个触发点击的功能,并根据哈希值激活:

if (window.location.hash) {
    $('#deltf')[0].click(); 

(出于某种原因

$('#deltf').trigger('click'); 

不起作用。

非常感谢你们!