0

我无法获得一个onMouseDown函数,该函数获取每个链接并在页面中复制其各自锚标记的原始 HREF 属性并在关闭事件中加载 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>
...
4

1 回答 1

0

摆脱所有这些功能和onload事情,然后正常执行:

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

你的问题是这一行:

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

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

于 2013-02-18T22:21:46.873 回答