javascript - 使用 href 执行函数

标签 javascript href greasemonkey

我正在寻找一种通过 href 加载函数的解决方案。 href=javascript:myFunction() 不起作用。

我无法使用 onClick 或 eventListener 的原因是因为我希望鼠标中键打开我将从新选项卡中的函数获得的链接。

我无法直接放置最终链接,因为我需要先收集链接,并且我只想在使用 href 时才这样做。

这可能吗?

PS:这是关于篡改/Greasemonkey 脚本

最佳答案

不知道为什么你不能让它工作,这工作正常。

只需确保您的函数是在元素之前定义的。在你的<head>例如。

http://jsfiddle.net/5EJuu/

HTML

<a href="javascript:test();">Test</a>

JS

function test() {
    alert("executed");
    return false;
}

如果你仅限于在 dom 准备好 Greasemonkey 之后,这里有一个你可以使用的解决方法。您仍然需要能够在元素之前定义一些内容,但不能在方法之前定义一些内容。

基本上,如果您在元素之前创建一个 namespace ,则可以在加载文档后向该 namespace 添加方法,并且该元素仍然可以工作。

http://jsfiddle.net/5EJuu/2/

HTML

<a href="javascript:test.foo();">Test</a>

JS

// jsfiddle load this in the head
var test = {};

// jquery used to run on dom ready
$(function() {

    // add the method use by the element
    test.foo = function() {
        alert("executed");
        return false;
    }
});

关于javascript - 使用 href 执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24804623/

相关文章:

javascript - MOOTOOLS 变量范围

javascript - Greasemonkey 脚本重写链接

javascript - 如何组合这 2 个 Greasemonkey 脚本?

javascript - 按类名监听 href 的点击事件

javascript - 向用户脚本添加自动刷新

javascript - 复制图像 URL 并粘贴到单独页面的表单中

javascript - 我的数字函数的 javascript 验证无法正常工作

javascript - jQuery 鼠标悬停鼠标悬停问题

javascript - 使用 jquery 加载上一个/下一个 url

java - 在查询 href 中的标记 <td><a href ="....."></a></td> DOUBLE_WHITESPCE 中