繁体   English   中英

如何从用户悬停的行中获取第一个单元格?

[英]How to get a first cell from a row that user hovers over?

如何从用户悬停的行中获取第一个单元格,然后单击某些键组合?(我正在考虑使用jQuery)我有一个与此表相似的表。 当用户将鼠标放在任意一个tr上并按ctrl + c时,会将ID复制到剪贴板。 谢谢! UPD代码如下。

<table>
   <tr>
    <td>ID</td>
    <td>Text1</td>
    <td>Text2</td> 
    <td>Text3</td> 
   </tr>
   <tr>
    <td id="my_id">1</td>
    <td>Example1</td>
    <td>Example1</td> 
    <td>Example1</td> 
   </tr>
   <tr>
    <td id="my_id">2</td>
    <td>Example2</td>
    <td>Example2</td> 
    <td>Example2</td> 
   </tr>
   <tr>
    <td id="my_id">3</td>
    <td>Example3</td>
    <td>Example3</td> 
    <td>Example3</td>
   </tr>
</table>

$(document).ready(function()
{
    var ctrlDown = false;
    var ctrlKey = 17, cKey = 67;
    var id = "";

    $(document).keydown(function(e)    {
        if (e.keyCode == ctrlKey) ctrlDown = true;
    });
    $("tr").mouseover(function(){
        id = $(this).find("#my_id").html(); 

    });
    $("tr").mouseout(function(){  
       id = "";
    });
    $(document).keydown(function(e)
    {
        if (ctrlDown && e.keyCode == cKey) {
            if (id != "") {
                window.prompt("Copy to clipboard: Ctrl+C, Enter", id);
                ctrlDown = false;
            }
        }
    });
});

欢迎使用Stackoverflow。 首先,请阅读有关如何提问的指南。

该指南的关键是:

stackoverflow成员不会做您的工作,但是如果您遇到问题,他们会为您提供帮助。 为了帮助您,我们需要在您的问题中注明“到目前为止我做了什么”。

现在解决您的问题。

你知道jQuery吗? 以及选择器如何工作? 这是您为我所做的事情的步骤:

  • 表行选择器$("table tr") (但我建议使用类和ID)

  • jQuery悬停功能

  • 选择器获取第一个单元格:

     $("> td:first", this) 
  • jQuery函数获取第一个td内容

  • 剪贴板问题,已在此处讨论。

您可以通过不同的方式获取单元格值。 下面是执行此操作的简单脚本。

JSFIDDLE: http : //jsfiddle.net/kiranvarthi/cr399ww2/ (单击以查看值警报)

$( "table tr" ).click(function() {
    alert($(this).children('td').first().html());
});

一旦获得ID,就可以添加到剪贴板。 下面的链接帮助您做到这一点。 如何使用JavaScript复制到剪贴板?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM