首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击列表中的安莉时加载外部小部件?

问如何在单击列表中的安莉时加载外部小部件?
EN

Stack Overflow用户
提问于 2013-06-20 23:36:40
回答 2查看 371关注 0票数 1

如果我有一个像这样的列表项:

代码语言:javascript
复制
<li class="" id="view_ideas"><a href="#"><span>View ideas</span></a>

我想让它在点击的时候加载下面的Get Satisfaction小部件:

代码语言:javascript
复制
<div id="getsat-widget-6135"></div>
<script type="text/javascript" src="https://loader.engage.gsfn.us/loader.js"></script>
<script type="text/javascript">
if (typeof GSFN !== "undefined") { GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"}); }
</script>

我该怎么办?我试过使用这样的东西:

代码语言:javascript
复制
<script type ="text/javascript">
    jQuery(function () {
        jQuery('#view_ideas').click(function(){
            var str = jQuery(this).text();
            jQuery('#getsat-widget-6135').load('<div id="getsat-widget-6135"></div>
                <script type="text/javascript" src="https://loader.engage.gsfn.us/loader.js"></script>
                <script type="text/javascript">
                    if (typeof GSFN !== "undefined") { GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"});     
}
            </script>');
        });
    });

我尝试过这样的东西:

代码语言:javascript
复制
<script type="text/javascript">
    var script = document.createElement('
    if (typeof GSFN !== "undefined") { GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"});
       jQuery("#getsat-widget-6135").append("#view_ideas"); }
 </script>')

大多数情况下,当点击li时什么都不会发生。我还尝试过.innerHTML和.text,我尝试将JavaScript直接放入li或span中,并尝试用脚本替换href (这两个脚本都会使li和/或小部件消失或出现在奇怪的位置,而没有任何事件),等等。

这是我一直在演奏的小提琴:

http://jsfiddle.net/nQhDG/

EN

回答 2

Stack Overflow用户

发布于 2013-06-20 23:43:20

试试这个,你已经很接近了:

代码语言:javascript
复制
jQuery(function () {
    jQuery('#view_ideas').click(function () {
        if (typeof GSFN !== "undefined") { 
            $('#getsat-widget-6135').empty();
            GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"}); }
    });
});

和

代码语言:javascript
复制
<script type="text/javascript" src="https://loader.engage.gsfn.us/loader.js">
</script>
<ul id="nav1">
    <li class="" id="view_ideas"><a href="#"><span>View ideas</span></a>
    </li>
</ul>
<div id="getsat-widget-6135"></div>

http://jsfiddle.net/nQhDG/4/

票数 1
EN

Stack Overflow用户

发布于 2013-06-20 23:43:48

我会使用css并将显示设置为不显示任何您想要加载的项目。然后您可以让li有一个onclick,通过将display更改为block (或您想要的任何东西)来显示项目。您可以通过document.getElementById(需要显示的项目的id).style.display=‘block’来完成此操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17217893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档