【发布时间】:2016-09-13 23:17:47
【问题描述】:
我正在开发一个 ASP.NET 网络表单应用程序。在我的页面上,我有一个包含 LinkButton 的中继器。当用户将鼠标悬停在链接按钮上时,我需要触发链接按钮的 Click() 操作。我可以使用 mouseover 事件触发单击。在 .cs 文件中,我像这样添加 onmouseover 事件:
previewButton.Attributes.Add("onmouseover", "document.getElementById('" + previewButton.ClientID + "').click();");
当然,问题在于点击事件会立即触发,即使用户只是将鼠标滑过链接按钮。这很烦人,所以我一直试图让它在悬停事件而不是鼠标悬停事件上工作。
搜索使我找到了 hoverIntent jquery 实现,但我有一段时间想弄清楚如何让它正常工作。我(诚然错误)的理解是我必须将 javascript 附加到 .cs 文件中的 LinkButton ,但我无法弄清楚如何将其正确添加到链接按钮。我试过用这样的警告框进行测试:
previewButton.Attributes.Add("hover", "document.getElementById('" + previewButton.ClientID + "').hoverIntent(function(){alert('mouseover');}function(){alert('mouseout'});");
但是当我将鼠标悬停在链接上时,警报永远不会显示。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
在我看来,你应该不让应用程序做这样的事情。如果用户想点击链接/链接按钮,让他/她点击它。就我个人而言,当应用程序执行这些技巧时,我觉得很烦人。我应该能够将鼠标放在我想要的任何地方,而不会让应用程序猜测我可能想要点击链接......无论如何,只是我的意见......
-
我同意我们不应该自动为用户点击内容。在这种情况下,我真正需要做的是让悬停事件导致一些服务器端处理,以便我可以检索数据并在弹出窗口中显示它。因此,LinkButton 与其说是一个用户可点击的功能(尽管确实如此),不如说是一个悬停目标,而不是其他任何东西。
标签: c# jquery asp.net webforms