单击时数据内容不起作用

时间:2014-06-29 18:34:17

标签: javascript jquery html5

有一个javascript和jquery我需要你的帮助:

$(document).ready(function () 
{
    $( '.website' ).popover(
    {
        'trigger'   : 'click',
        'placement' : 'right'
    });
});

HTML:

<a href="javascript:void(0)" data-content="www.google.com" class="website" >
    Google Website
</a>

当我点击&#34; Google网站&#34;时,它会显示&#34; www.google.com&#34;。但我想要的是,当我点击&#34; www.google.com&#34;时,此网址也会在新标签页中显示。

如果有2个不同的网站,例如&#34; google.com&#34 ;;和&#34; yahoo.com&#34 ;;在相同的数据内容中,因此当点击任何人时,它应该重定向到相应的页面

我该怎么做?

3 个答案:

答案 0 :(得分:2)

试试这个: -

$('.website').click(function(e){
 e.preventDefault();
 window.open($(e.target).attr('data-content'), '_blank')
})

还要在html中进行一些更改: -

 <a href="javascript:void(0)" data-content="http://www.google.com" class="website" >
Google Website
 </a>

您还可以在html中添加其他数据内容,然后它也可以正常工作。

 <a href="javascript:void(0)" data-content="www.yahoo.com" class="website" >
Yahoo Website
 </a>

答案 1 :(得分:2)

我在代码中做了一些更改,要在数据内容中保留多个链接,您可以尝试: -

<a href="javascript:void(0)" data-content="http://www.google.com" class="website" >
        Google Website
</a>
<a href="javascript:void(0)" data-content='http://www.google.com,http://www.yahoo.com' class="website" >
        Websites
</a>

并改变你的javascript: -

    $('.website').click(function(e){
        e.preventDefault();
        var dataContents = $(e.target).attr('data-content').split(",");
        for(var i=0; i<dataContents.length;i++){
            window.open(dataContents[i], '_blank');
         }

     })

如果您的浏览器阻止弹出窗口,则必须取消阻止。 我正在尝试在标签中打开第二个窗口,而不是在新窗口中打开。

答案 2 :(得分:0)

修正您的data-content属性以包含http://,否则它将相对于当前网址打开:

<a href data-content="http://www.google.com" class="website">
    Google Website
</a>

并保留用户Indra的代码:

$('.website').click(function(e){
 e.preventDefault();
 window.open($(e.target).attr('data-content'), '_blank');
});

JSFiddle示例

<强> http://jsfiddle.net/BM7Tc/