【问题标题】:Create Text area on the hover of the link在链接的悬停上创建文本区域
【发布时间】:2023-03-14 11:38:01
【问题描述】:

我想在鼠标悬停在给定链接中创建一个文本区域。

我试过的就在这个 fiddle code.

但我想在鼠标悬停在链接上时动态创建文本区域。

此文本区域将设置在右侧(点击链接时),并声明一些支持该文本区域的CSS的字段,因此,可以修改文本区域的样式。

谁能帮我解决这个问题?

谢谢

【问题讨论】:

  • 你真的想要一个文本区域吗?还是工具提示?
  • 在 Chrome 中你的小提琴正在工作。
  • 当您将鼠标指向时,您想用文本区域替换您的链接吗?
  • 文本区域需要像工具提示一样工作?即在鼠标离开时消失?
  • 您需要鼠标悬停或点击时的文本区域?页面右侧还是链接右侧? (或力量的右侧?搜索你的感受,病毒)

标签: javascript jquery hover jquery-hover


【解决方案1】:

你想要这样的东西吗? http://jsfiddle.net/nmZb9/18/

*更新:*如果它是您正在寻找的工具提示http://jsfiddle.net/nmZb9/24/

,我会这样做

【讨论】:

    【解决方案2】:

    在链接的鼠标悬停时调用一个 ajax,它获取文本区域的 html 或在 html 中创建一个隐藏的元素,并在 jquery 的鼠标悬停事件上使用 jquery 显示/隐藏功能

    例如链接 id 是 #link1 和一个 div 元素,其中包含 textare id div1

    jQuery('#link1').hover(function() { jQuery('#div1').show(); }, 功能() { jQuery('#div1').hide(); });

    【讨论】:

    • 你能用小提琴/这里的代码直接在堆栈上显示这个吗?
    【解决方案3】:

    HTML:

    <div id="container" style="height:100px;">
    </div>
    <a href="foo.com" onmouseover="addTextarea('foo.com is a great site')" onmouseout="$('#container').empty();">Foo.com</a>
    <a href="bar.com" onmouseover="addTextarea('bar.com is a terrible site')" onmouseout="$('#container').empty();">Bar.com</a>
    

    JS:

    function addTextarea(str) {
        $('#container').html(
        $('<textarea></textarea>')
          .val(str))
    }​
    

    【讨论】:

    • 为什么投反对票?你没有用小提琴解释它,在我的有条件的小提琴上它不起作用这就是为什么我评论为不起作用!投反对票有意义吗?
    • @ViralShah 这个问题有 7 个答案,没有一个能满足您的需求?在我看来,你希望我们做你的工作。如有错误请见谅:)
    • 现在快乐!?最后你可以找到正确的答案,如果我想从 Stack 做我的工作,那么我可以把活生生的例子放在我的小提琴上!!
    • @ViralShah 放松人 :) 投反对票并不让我高兴,尤其是如果它对您的影响如此之大。
    【解决方案4】:

    我认为这就是您正在寻找的答案:

    html:

    <span>
        <textarea id="text1" style="display:none" onmouseout="showText(1,false)"></textarea>
        <a href="foo.com" id="link1" onmouseover="showText(1,true)">foo.com</a>
    </span>
    <span>
        <textarea id="text2" style="display:none" onmouseout="showText(2,false)"></textarea>
        <a href="bar.com" id="link2" onmouseover="showText(2,true)">bar.com</a>
    </span>
    

    js:

    function showText(i, show) {
    
        var text, link;
    
        if (i == 1) {
            text = document.getElementById('text1');
            link = document.getElementById('link1');
        } else {
            text = document.getElementById('text2');
            link = document.getElementById('link2');
        }
        if (show) {
            text.style.display = 'inline';
            link.style.display = 'none';
        }
        else {
            text.style.display = 'none';
            link.style.display = 'inline';
        }
    
    }​  
    

    以下是试用链接: http://jsfiddle.net/dNuy6/3/

    这是我从你的问题中了解到的。我用鼠标悬停的文本区域替换链接。如果这不是您要查找的内容,请给出更准确的解释。

    这种方法的问题是用户永远无法点击链接!

    【讨论】:

      【解决方案5】:

      这是我的 2 美分,http://jsfiddle.net/BsTTr/4/

      完全原生的 javascript(无框架)

      编辑:添加 css 规则以将 textarea 容器浮动到右侧

      【讨论】:

      • 是的,这个太棒了,你可以把这个文本区域放在右边的角落里,同样的效果
      • 我认为现在你只需要一些 CSS 来设置它的样式。如果你需要 css 方面的帮助,你可以看这里http://www.w3schools.com/css/
      【解决方案6】:

      您也可以通过这种方式实现您的目标 - http://jsfiddle.net/nmZb9/27/
      这个没有突兀的js(onmouseover属性)

      【讨论】:

      • 什么方法?请在此答案中发布您的答案的重要部分,以便他人无需访问外部网站即可了解您的答案。
      猜你喜欢
      • 1970-01-01
      • 2013-01-30
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      • 1970-01-01
      • 2012-10-24
      • 2013-04-14
      相关资源
      最近更新 更多