6

简单的快速问题......

我有以下链接html:

<a href="http://www.site.com/" onmouseover="" />

我有一个 javascript 函数,我想将一些鼠标悬停信息动态地输入到该链接中。因此,假设如果调用了这个 javascript 函数,它就会变成这样:

<a href="http://www.site.com/" onmouseover="alert('howdy')" />

任何想法如何做到这一点?

4

6 回答 6

7

添加名称属性并分配 onmouseover

<a href="http://www.site.com/" onmouseover="" name="xxx"/> 
document.getelementsbyname('xxx').onmouseover = function() { alert('howdy') } 
于 2011-02-02T11:08:03.793 回答
2

答案是,使用 setAttribute() javascript。

于 2011-02-11T10:36:52.957 回答
0

如果可以使用 jquery,请参见:http ://api.jquery.com/hover/

这比直接更改属性要好。您的 javascript 函数可以动态绑定/取消绑定鼠标悬停事件并执行您的警报调用。

否则,您的 javascript 函数将需要动态更改属性,但您需要解决浏览器差异以找到正确的元素,然后定位并修改 onmouseover 属性。

于 2011-02-02T11:11:31.810 回答
0

我想您想说:动态更改您的 href 属性信息,然后您可以通过 jquery 来完成

//Write code for prompt box and get value (when mouse-over)
$("a[href='http://www.google.com/']").attr('href', 'YOUR_GET_VALUE')
于 2011-02-02T11:08:10.440 回答
0

两个选项:

如果是小东西:

<a href="http://www.site.com/" onmouseover="this.href = 'http://stackoverflow.com'" />

如果您还有其他事情要做:

<script type="text/javascript">
    function doSomething(elem) {
        elem.href = 'http://stackoverflow.com';
    }
</script>
<a href="http://www.site.com/" onmouseover="doSomething(this)">test</a>

或者如前所述:使用 jQuery 或任何其他框架让您的生活更轻松

于 2011-02-02T11:19:05.523 回答
0

以下每次都适用于 jQuery

首先是javascript:

  $(document).on('mouseenter','.hovLink', function (e) {
       e.preventDefault();
       e.stopPropagation();
       alert('entering ' + e.target.id);
  }).on('mouseleave','.hovLink', function (e) {
       alert('exiting ' + e.target.id);
  });

这是HTML

<a href="/link" class="hovLink" id="link1">Link</a>
于 2020-01-17T15:06:05.263 回答