JQuery - 在类或文档中添加等效于每个锚点的HREF属性的onMouseDown属性

时间:2013-02-18 22:17:08

标签: javascript jquery javascript-events onmousedown

我无法获取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>
...

1 个答案:

答案 0 :(得分:0)

摆脱所有这些功能和onload事物并正常做到:

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

你的问题就在这一行:

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

$('a')选择所有<a>代码,而不是已点击的代码。要解决这个问题,你必须通过参数将元素传递给你的函数,但这不是一个好主意。