Есть ли способ получить текущий идентификатор элемента при наведении мыши в JavaScript? - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть метод в javascript, и я пытаюсь получить идентификатор элемента при наведении мыши, есть ли способ сделать это?

Скажем, у меня есть метод, который не принимает аргументов

function noArgs() {}

и у меня есть два абзаца с идентификатором p1 и p2, как я могу получить идентификатор выделенного абзаца?

РЕДАКТИРОВАТЬ: Это в настоящее время, как я беру идентификатор, который я хочу исключить аргумент "элемент" в методе

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Test</title>
        <script type="text/javascript" href="js/jquery.js"></script>
        <script type="text/javascript">
            function hoverButton(element) {
                var button = document.getElementById(element);
                switch (button.state) {
                    case "up":
                        button.style.backgroundPosition = "top";
                        button.state = "down";
                        break;
                    default:
                        button.style.backgroundPosition = "bottom";
                        button.state = "up";
                        break;
                }
            }
        </script>
        <style type="text/css">
            .button {
                background-image: url("images/button.png");
                width: 100px;
                height 50px;
                background-position: top;
                border: none;
                font-size: 18px;
            }
        </style>
    </head>

    <body>
        <input type="submit" id="submit_button" class="button" value="Submit" state="up" onmouseover="hoverButton('submit_button')" onmouseout="hoverButton('submit_button')"/>
        <input type="submit" id="submit_button2" class="button" value="Submit" state="up" onmouseover="hoverButton('submit_button2')" onmouseout="hoverButton('submit_button2')"/>
    </body>
</html>

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

с использованием jQuery:

$element.bind('mouseover', function() {
  var id = $(this).attr('id');
});
1 голос
/ 14 апреля 2011

Почему вы хотите исключить аргумент элемента?

В вашем сценарии вы можете сделать onmouseover="hoverButton(this)" и отказаться от строки var button = document.getElementById(element); от вашей функции. element будет тогда тем элементом, который был наложен в то время, и вы можете получить его идентификатор (если хотите), выполнив element.id.

Однако, поскольку у вас есть ссылка на jQuery в вашем коде, вы можете также использовать ее;)

...