首页 > 解决方案 > 如何将参数从锚标记 onclick 传递到 document.ready 中的函数

问题描述

假设我在文档中准备好了一个函数。

$(document).ready(function()
{ 
    function myFunction(id) {
        alert(id);
    };
})

我想从这样的锚标记传递一个参数。

<a href="javascript:void(0)" onclick="myFunction(1)">Item 1</a>
<a href="javascript:void(0)" onclick="myFunction(2)">Item 2</a>
<a href="javascript:void(0)" onclick="myFunction(3)">Item 3</a>

我知道 myFunction 不在全球范围内。这就是为什么它不会工作。那么有什么方法可以将参数从锚标记传递到文档中的函数准备好了吗?

标签: javascriptjquery

解决方案


尝试使用 jQuery 事件绑定。

$(document).ready(function()
{ 
    function myFunction(id) {
        alert(id);
    };
    
    $(document).on("click", "a", function(event) {
      var arg = $(this).attr("data-arg");
      myFunction(arg);
    });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="javascript:void(0)" data-arg="1">Item 1</a>
<a href="javascript:void(0)" data-arg="2">Item 2</a>
<a href="javascript:void(0)" data-arg="3">Item 3</a>


推荐阅读