【问题标题】:How to present data in javascript?如何在javascript中呈现数据?
【发布时间】:2012-01-15 09:07:03
【问题描述】:

我有一个小书签,可以从网站中提取电子邮件地址。它返回让我们说 10 个电子邮件地址。我如何将它们呈现给用户以使它们能够复制和粘贴?我不能使用警报,因为您无法从警报中复制文本。我不能使用提示,因为它使它们不可读。我不能使用 document.write,因为我不想改变窗口。我无法创建新窗口,因为它可能被弹出窗口阻止程序阻止。有没有其他方法可以做到这一点并使其具有普遍性?

【问题讨论】:

  • 您可以通过简单地按 ctrl-a、ctrl-c 从警报中复制/粘贴。您不会看到您的选择,但它确实有效。另外,为什么不添加一个div,将其绝对定位在右上角?该页面不会与它有任何不同。
  • 位置固定是首选,因为绝对位置来自具有位置的第一个父级。这样您就可以毫无问题地制作灯箱效果。
  • @Nanne 可以在所有浏览器中使用吗?甚至IE6?
  • @khael :你说得对,我没有任何想法就使用了absolute这个词,但应该使用fixed。我的错。 (@IAdapter:你是什么意思?复制粘贴是一个操作系统功能 afaik,位置应该在任何支持 CSS 的浏览器中工作)
  • @Nanne 我从来没有使用过从警报中复制文本,所以我很震惊它可能。所以只有它的窗户?它适用于所有浏览器吗?

标签: javascript jquery window alert prompt


【解决方案1】:

是的,使用document.createElement 创建一个新的divtextarea 将它们放在那里,确定后删除节点。

【讨论】:

    【解决方案2】:

    我想你可以引入一个带有 ID(比如说“a”)的 div 标签,它最初是空白的。

    <div id="a"></div>
    

    然后使用document.getElementById标签来改变它的内部HTML。

    document.getElementById("a").innerHTML=email_id1+"<br>"+email_id2+"<br>"+email_id3;
    

    您无需刷新页面。它将自动更新。

    【讨论】:

      【解决方案3】:

      您可以将电子邮件 ID 放在文本框中,例如,

      $('textbox').val(email_id1+
                  '\n'+email_id2+
                  '\n'+email_id3+
                  '\n'+email_id4+
                  '\n'+email_id5+
                  '\n'+email_id6+
                  '\n'+email_id7+
                  '\n'+email_id8+
                  '\n'+email_id9+
                  '\n'+email_id10);
      

      【讨论】:

        【解决方案4】:

        使用 jQuery 对话框。您可以在用户关闭时将其销毁。

        http://jqueryui.com/demos/dialog/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多