поддерживать наведите курсор мыши на наведение курсора в jquery - PullRequest
2 голосов
/ 07 декабря 2009

У меня есть таблица с некоторыми данными клиентов. Я использую jquery hover, чтобы показать actions(Edit, Delete, View) для клиента.

Ниже приведен HTML-код:

<table id="hovertable" width="100%" cellpadding="0" cellspacing="0">
    <tr>
        <td>
            Row 1 Column 1
        </td>
        <td>
            Row 1 Column 2
        </td>
        <td>
            <input type="hidden" name="iVal" value="1" />
            Row 1 Column 3
        </td>
    </tr>
    <tr>
        <td>
            Row 2 Column 1
        </td>
        <td>
            Row 2 Column 2
        </td>
        <td>
            <input type="hidden" name="iVal" value="2" />
            Row 2 Column 3
        </td>
    </tr>
    <tr>
        <td>
            Row 3 Column 1
        </td>
        <td>
            Row 3 Column 2
        </td>
        <td>
            <input type="hidden" name="iVal" value="3" />
            Row 3 Column 3
        </td>
    </tr>
</table> 
<div id="hovermenu" style="display: none; position: absolute;">
    <a href="Home/Edit/" id="hoverlink">Edit</a>
</div>

А сценарий здесь:

    <script type="text/javascript" language="javascript">
    $(document).ready(function() {            
        $("#hovertable tr").hover(
          function() {
              var pTop = $(this).offset().top;
              var pLeft = $(this).offset().left + $(this).width() - "10";
              $('#hoverlink').attr("href", "/Home/Edit/" + $(this).find('input[name=iVal]').val());
              $("#hovermenu").css({
                  top: pTop,
                  left: pLeft
              }).show();
          },
          function() {
             $("#hovermenu").hide();
          });
    });
</script>

Когда я перемещаю мышь по каждой строке таблицы, я могу показать действия для строки клиента. Но когда я перемещаю мышь над actions(Edit, Delete, View), она скрывает меню при наведении.

Какой способ это исправить?

1 Ответ

3 голосов
/ 07 декабря 2009

Добавьте это к вашему javascript:

$("#hovermenu").hover(
  function(){
    $(this).show();
  },
  function(){}
);

При наведении курсора оно должно отображаться в вашем меню.

...