添加一个相当于每个锚点的onMouseDown属性'类或文档中的s HREF属性

Adding an onMouseDown attribute equivalent to each anchor's HREF attribute in a class or document

本文关键字:属性 文档 HREF 相当于 一个 onMouseDown 添加      更新时间:2023-09-26

我在获取onMouseDown函数时遇到问题,该函数获取每个链接,并在页面中复制其相应锚标记的原始HREF属性,并在down事件上加载URL。

让我们把这个函数称为loadURL()

现在,我正在为每个锚点测试内联函数,并且在为每个HREF属性获取不同值时遇到问题。我想制作一个onLoad函数,本质上为每个锚点添加onMouseDown属性和loadURL函数。这是我现在拥有的JQuery代码。

问题已解决,显示初始问题供参考

脚本:

function loadURL()
        {
            var url = $('a').attr('href');
            location.href = url;
        }
function mouseDownerURL () {
    $('a').attr('onmousedown', 'loadURL()' );
}

HTML

<body onLoad="mouseDownerURL();">
<a onmousedown="" href="foo.com">Takes you to foo.com on mouseDown</a>
<a onmousedown="" href="bar.com">Leads to foo.com NOT bar.com on mouseDown</a>
</body>

解决方案

function mouseDownerURL() {
        $(document).ready(function() {
            $('a').mousedown(function() {
                window.location.href = this.href;
            });
        });
    }
<body onLoad="mouseDownerURL();">
<a href="1">1</a>
<a href="2">2</a>
...

去掉所有这些函数和onload,正常操作:

$(document).ready(function() {
    $('a').mousedown(function() {
        windows.location.href = this.href;
    });
});

你的问题是这条线:

var url = $('a').attr('href');

$('a')选择所有<a>标记,而不是单击的标记。要解决这个问题,必须通过参数将元素传递到函数中,但这不是一个好主意。